http://voidozer.livejournal.com/ ([identity profile] voidozer.livejournal.com) wrote in [community profile] useless_faq2012-01-25 10:06 am

Эволюция ПО

Почему так часто программное обеспечение эволюционирует в обратном направлении? Т.е. из удобной и безглючной программы, с выпуском все новых версий, постепенно превращается в жуткого монстра, который тормозит даже на неплохих компьютерах? Как браузер может занимать 500 000 000 байт оперативной памяти?! Зачем программа для записи дисков (больше от нее никогда ничего не требовалось!) пытается по функционалу сравниться с операционной системой, со всеми вытекающими для быстродействия?

[identity profile] lokkiuni.livejournal.com 2012-01-25 04:11 pm (UTC)(link)

Для начала, задействование бОльшего количества памяти позволяет подчас быстрее работать - например, не морочиться с каким-либо сжатием переменных, зачастую такой подход оправдан. Или запихъивание ВСЕХ данных/инструкций в оперативку - увеличение кешей тоже благотворно сказывается на скорости выполнения.

Затем, вспомним, как пользовались компом 2-3 года назад. Это сейчас 20 открытых окон/вкладок браузера никого не удивляют... А тогда это было МНОГО и те же 500мб оперативки отжирали наура. Далее, вспомним наши первые впечатления после апгрейда (чем сильнее он был, тем лучше). АААА, всё летает!!!! Только через неделю стоит буквально чуть-чуть замедлить скорость - и кажется, что всё начинает еле-еле шевелиться. Хотя это всё равно намного быстрее, чем было раньше.

Далее, любовь к визуализации у браузеров (безопаснее, надежнее, совместимее, но опять же доп. память).

Далее, более сложные логические структуры - они оооой как любят кушать память. Опять же, языки програмирования, предлагающие более высокий уровень абстракции, более прожорливы.

Опять же, софт, сделаный "модульно", будет более прожерлив до памяти, но если что- его проще отлаживать, исправлять ошибки, он будет более "правильный" и так далее. Опять же, добавление 90% функционала запросто может быть незамеченым пользователями - например, с точки зрения пользователя мозилла 3.5 мало чем отличается от 8, а на самом деле у них совершенно разные "рисовалки" страниц, очень сильное отличие в плане поддерживаемых технологий отрисовки. (другое дело, что 8.0 это на самом деле 4.4, но это уж так повелось... Андройд вон тоже 1.6 максимум на 1.0 тянул, а то и на 0.9. Корпорация добра, блин...)

Подытожу. Кроме клинических случаев - это либо а) возможность писать софт не через задницу, т.к. ресурсов заведомо хватит для производительности, заведомо превышающей человеческие возможности (т.е. компьютер всё равно всё отрабатывает быстрее человека), либо б) ускорить работу этого продукта, получив какие-то "минусы" (например, вин7 по 100мбит сетке кидает медленнее чем хр где-то на 5-10%, зато по 1гбит - раза в 2-3, за счёт смены протокола CIFS). Например, отжирая больше памяти раза в 2, программа будет на 5-10% быстрее - при учёте цены на память это более чем оправдано. Или получая новые возможности, о которых большинство не догадывается, но которые позволяют сильно ускорить работу (человека, а не машины), пожертвовав производительностью. Пример - WinNT6+.




[identity profile] lokkiuni.livejournal.com 2012-01-25 06:11 pm (UTC)(link)
А вот как бы нифига. Эксплуататор. Просто периодически копаю софт глубже среднестатистического пользователя, и очень во многих местах видно, что многое сделано в последующих версиях универсальнее и мощнее, но за это приходится платить производительностью. Пример - Exch 2007, дико тормозной на первый взгляд, кушает много памяти и проца, но зато практически независимо от колличества пользователей (утрирую конечно, но тенденция примерно такая). То же касается и win2008, Vista (она же 7, отличаются они не так уж и сильно). Да большая часть софта либо тормозит из-за свистелок и перделок (это если ом в принципе для выполнения не много ресурсов надо), либо из-за оптимизации под новые процы и много памяти (ну извините, это равнозначно что на старом железе оно медленнее), либо из-за добавления новых фич. Или вас устраивает функционал DOS? Опять же то, что с точки зрения рядового пользователя NT6 мало отличается от хр - это я даже не знаю, заслуга или поражение дизайнеров (тех, которые юзабилити проектируют). Потому что архитектурно она может гораздо больше, чем предыдущие версии. И сделано это ну совсем не для пользователей, о них никто не думает в таких вещах, и слава богу. О них должны думать разработчики прикладного софта, и я считаю, так оно и получается - у каждого мощного, но тормознутого софта есть аналог быстрый, но ничего не умеющий. И это вполне нормально. Кстати, тот же фотошоп, сильно тупящий с мелкой картинкой по сравнению с каким-нибудь пейнтом .нет(условно, при открытии файла, да и памяти больше ест), при работе с более-менее большими файлами (или задействовании сложных операций) начинает работать гораздо быстрее чем казалось бы более лёгкие редакторы. Так что если софт тормозит - либо он неадекватен задаче, либо аппаратные ресурсы неадекватны задаче.

Если вас лично не устраивает браузер, жрущий 0.5гигабайт - ну так поставьте себе древнюю версию, в которой не будет корректно отображаться половина интернета из-за отсутствия кучи технологий, из-за которых браузеры столько и жрут. Lynx в конце концов. Он и на 386 нормально работать будет. На компах типа п4 всё тормозит? Так оно и тогда так работало, просто к хорошему быстро привыкаешь.

я не вижу ничего катастрофичного в том, что происходит. Те же браузеры начинают требовать вполне вменяемые ресурсы, если отключить в них автоматическое проигрывание flash. Извнинте, такие нынче страницы пошли, что 1мб кода для них - вполне реально, лет 5 назад столько весили страницы вместе с картинками. И это не просто текст, который надо показать - это фактически код, который надо интерпретировать, а не просто язык разметки, как в те времена.

[identity profile] blackyblack.livejournal.com 2012-01-25 06:52 pm (UTC)(link)
Глючнософт - это писалка дисков на ассемблере. А человек всё правильно написал.

[identity profile] blackyblack.livejournal.com 2012-01-25 06:51 pm (UTC)(link)
Совершенно верно. Только это ответ на половину вопроса. На вторую половину ответ: маркетинг.