Нам нужна программа для хранения чиселка! Напишем числосейверV1.0!
...
uint16_t chiselko = 65111; // ура! мы сделали это!
...
О неееет нам нужно хранить большее чиселко, давайте обновим до числосейверV2.0!
...
uint32_t chiselko = 21474000; // ура! мы сделали это!
...
Факи факи! нам нужно хранить большее чиселко, давайте обновим до числосейверV3.0!
...
uint64_t chiselko = 446744000009551616; // ура! мы сделали это!
...
Спустя некоторое время
За счет чего более новые ОС Линукс требуют больше ресурсов ПК чем более старые?
Не для срача ради. Просто интересен механизм, почему так происходит? Можно на примере числосейверV2 vs числосейверV3.
За счёт того, что код, по сравнению с тем, что было лет 15-20 назад, стал куда как объёмнее и запутаннее, отсюда вытекает повышенная сложность (и нежелание) его рефакторить. Это раз.
Повнедряли systemd и прочие комбайны заместо десятка махоньких по размеру программ, которые выполняли ровно одну функцию и делали это ровно тогда, когда надо, без «висения» в памяти. Это два.
Нужна поддержка как можно более широкого спектра оборудования, отсюда больше драйверов и кода в програмном обеспечении. Это три.
Всё больше и больше дистрибутивов отказываются от специализации, как следствие — «всё включено» и обилие ПО в образах. Это четыре.
P.S. От некоторых не совсем адекватных личностей даже слыхал, что саботажем кода занимаются шпионы SJW, которым не нравится Торвальдс. Но это во-первых только теория, во-вторых, нашёл её на западных «интернетах», где любому «нашему» фору дадут в плане дичи, а в-третьих, так крупно гадить там, где делают бизнес корпорации — это точно не по силам нашим «друзьям».
У меня сейчас кернел собранный под современное x86-64 железо (2018-2019) 6МБ весит под gzip компрессией, так что не так всё страшно, если menuconfig потыкать и тяжеловесного говна типа systemd или DE и вообще чего угодно на QT5/GTK3 избегать.
Почему софт жирнеет - я считаю, что главным образом из-за того, что разработчики выбирают «convenience» over simplicity. То, что можно уместить в 5 строк - они умещают в 100+ и ещё тягают к ним 500 строчек из какой-нибудь жирной либы. Почему они это делают? Потому что им нужно реализовать какое-нибудь API(сейчас же везде навороченные API), потом им нужнл писать в каком-нибудь конкретном стиле, который подразумевает использование жирных либ, а ещё они говнокодеры, которые видят типичную программу как этакое ктулху, которое тянется туда,сюда, имеет 70 щупалец и чрезвычайно комплексную схему поведения, чтобы топить морские судна намного эффективнне. И либы эти написаны такими же говнокодерами с ООП/ФП/(другая overenginered парадигма) головного мозга.
Говна больше добавляется, вот и становятся требовательнее. А ещё, некоторое говно всплывает — как решитовитость Штеудов, например, к Линупсу отношения не имеющая, но его тормозящая.
И нахой оно не нужно нам! Взять классический UNIX и добавить туда UTF-8, всё, больше ничего с символами и их отображением делать не надо. Но вас же не заботит качество системы, вас заботит качество ЭКСПИРИЕНСА, вас заботит качество интерфейсов. Какому-нибудь говнокодеру нужно сглаживание, он возьмёт, да и напишет его, хуяк-хуяк и в юзерспейс, без какой-либо критической оценки данному новшеству, а потом ещё 1000 хомячков точно так же запилят свои хотелки, и всё это войдёт в одну суперпупер либу графический сервер, и все будут довольны, кроме нормальных людей, которые хотят простую, стройную, консистентную и ПОДДЕРЖИВАЕМУЮ систему. Current state of affairs - это совершенео неподдерживаемое говно, франкенштейн, который в будущем или развалится, или превратится в такого ужасного монстра OS, которого ещё никто не видел, даже те люди, которые работают в Microsoft.
И что от этого будет хорошего? Может, это сделает код приложухи на 20-30% чище, но сделает процесс разработки в 5+ более усложнённым, медленным, бюрократичным, уязвимым к внешним погодным условиям.
Вам всем хочется взять и подарить копию книжки «Program Design in the UNIX Environment», или хотя бы отправить в библиотеку почитать книги Сенеки.
А знаешь, какое лучшее решение этой проблемы будет в данном случае? Просто взять и ограничить количество людей, который могут коммитить в рабочую базу до пяти, а остальных уволить или (если их работа необходима для проекта) назначить ассистентами к этим выбранным пяти лучшим разработчикам в проекте.
Херня полная. Одно поделие редактирует текст и потребялет 1мегабайт озу, второе поделие редактирует текст и отличается как наличием так и отсутствием некотрых фич, но потребялет 100мегабайт озу.
Какие тормоза могут быть из-за отрисовки символов, лол? Сегодня вся производительность уходит на интерфейсы коммуникации - это факт, это главный боттлнек в современном софте. Они ещё и стимлируют использование неэффективных дата-структур в программах.
0.1 S 1 bash
0.1 S 106 `- pppd
2.0 0.5 S 4363 `- Xorg
0.0 S 4367 `- mywm
2.6 0.5 S 4368 `- geany
0.2 S 24317 `- bash
0.2 R 31556 `- top
19.3 0.5 S 19881 `- chromium
20.7 S 30964 `- chromium
S 2 kthreadd
как-то я копала насчёт объёма данных. выяснила, что очень много говна тащится с i18n. в некоторых пакетах она занимает больше половины занимаемого на диске места. поэтому выгодно отключать её к хренам и ставить только английские дефолтные версии всех пакетов.
Не знаю что там у тебя потребляет, но у меня Debian с консолькой использует всего 45 МБ примерно памяти. Это много по твоему? Минимальная конфигурация пусть 256 МБ. Этого вполне достаточно для работы и запуска некоторых программ.
а ос виндовс? даже паровозы из поколения в поколение жрали угля меньше и ехали быстрее, но видимо конструкторов операционных систем это мало волнует...
так крупно гадить там, где делают бизнес корпорации — это точно не по силам
Им по силам не просто добиться увольнения топов многомиллионных контор, но и даже поставить на их место своих агентов. Если предположить что вся эта каша заварена одним из топ2 производителей ОС, то внезапно становится более чем реальным сценарий постепенной замены всего руководства во всех связанных с СПО крупных конторах с целью скатывания оного в то, что мы имеем последнее время.
Объективно, примерно с 2011-2013 значительная часть крупных проектов перестала становиться лучше и начала становиться объективно хуже. Хотя, казалось бы, свобода должна способствовать развитию.
Для примера можно сравнить каких успехов добились свободные проекты без подставы от этой банды с проектами, в которых заведомо известно о проникновении этого рака в руководства.
С чего это вдруг? Кодеры любят измерять объём проведённой работы строчками кода, ну вот они и напихивают побольше строчек кода куда нужно и куда не нужно.
С того, что объём наработанного опыта должен выливаться в понимание «как сделать правильно (лучше)». Что само по себе синоним слову «эффективность». Но это, правда, работает только если не идиоты пишут.
Есть N кодеров, готовых допиливать твою ОС линукс. Есть M новых фич, которые хочется/нужно запилить в новой версии. Оптимизация потребления ресурсов возможна, но потребует некоторое время.
Сколько фич стоит пожертвовать ради того, чтобы оптимизировать до уровня «потребляет меньше ресурсов» и какой идиот выберет это при условии, что старые ПК умирают от естественных причин, а новые тупо дают больше ресурсов?
И да, время кодеров в большинстве случаев гораздо дороже, чем ресурсы ПК. Даже если они бесплатные: их время ограничено.
Все деяния людей - производная их духовного состояния /программирование - «не исключение»/.
Если «оно» любит употреблять к примеру слово «говно», то не трудно догадаться в каком духовном состоянии находится «оно».