lankastersky: (Default)
[personal profile] lankastersky
Скорость выполнения программ очень важна.

Допустим, вам удалось ускорить программу на 100 миллисекунд (по некоторым данным, человек замечает, если программа тупит на 01~0.2с).
Допустим, этой программой пользуются 100 тыс человек. Даже если они запускают программу раз в день, в сумме экономия составит 10000с, т.е. почти 3 часа человеческой жизни в совокупности.

Такая небольшая оптимизация дарит людям целые часы жизни.

Date: 2016-05-29 09:49 am (UTC)
From: [identity profile] muterat.livejournal.com
Необходимость оптимизации -- строго привязана к задаче. В жестком реалтайме -- без вариантов. Но там человек самое тормозное звено: классическое "время срабатывания реакции водителя -- 1 секунда". Потому что это время от "заметил" до "нажал на тормоз". В офисной гуйне -- "любой каприз за ваши деньги". Нет денег на оптимизацию? Ну... Купите топовые железяки. Нет денег на топовые железяки? Ну... так перебьетесь. Волшебный маркетинг софта от Майкрософта: Good enough software. (и EULA про your own risk и void warranty) Без измерений профайлером где и что тормозит -- вообще нельзя говорить о какой-то там оптимизации, потому что "гугл слоптимизация" :) Оптимизация гуя которую замечает человек (ну будет он получать "быстро" уведомление "мы работаем над этим") не решит проблем с латентностью канала связи и проблемами человеческого восприятия by design (выше некоторого порога уширять каналы или закупаться лучшими из возможных железяками экономически нецелесообразно: инфинибанд в локалке не все могут себе позволить, а топовый проц никогда не окупится если не будет нагружен числогрызными задачами в пакетном, а не в интерактивном, режиме, в которых гуя нет от слова совсем и человек в принципе ничего не замечает в реальном времени). Вспомни, как маялись чуваки, покупавшие топовые видухи, чтобы майнить биткоин в SLI :) Асики убили их колхозные фермы быстрее, чем те окупились. Чаще всего... именно за оптимизацию никто вообще не платит и в проектном плане она не учитывается потому что бывает нетривиальна и вполне себе затратна: специально обученный человек с платными промышленного класса профайлерами? Не, не слышали :)

>Даже если они запускают программу раз в день, в сумме экономия составит 10000с, т.е. почти 3 часа человеческой жизни в совокупности.

Это липовая экономия, потому что человеки тратят время очень неровно: пробежки в туалет с возрастом учащаются, к какой бы ты продвинутой медицине не имел доступ, а туалетов больше не становится (в одной книжке была шутка про дом престарелых программистов, которые страдают от "buffer overflow" и "line too long" :) Ну, потому что не роботы и треть жизни во сне тоже никто не отменял :)

Date: 2016-05-30 05:29 am (UTC)
From: [identity profile] lankastersky.livejournal.com
К сожалению, человек так устроен, что ему важней видеть, как быстро работает программа. Если программа будет тупить, то пользователь просто уйдет, и проиграют от этого все: он не получит желаемый функционал, а разработчик - свое бабло и признание.

Понятно, что в попытках оптимизации можно копать гораздо глубже, вплоть до fpga железок, которые сейчас набирают популярность, или процессоров Tensor Processing Unit, которые придумали в гугле специально под нейронные сети. Я сейчас про другое.

Дизайн - вещь важная, т.к. служит нашему моральному удовлетворению. Поклонники эппл за это вот хорошо платят. Но на iOS нет сборщика мусора и там как-то изначально проще устроено, чем на андроиде с джавовской машиной. Вот и приходится считать фреймы, чтобы пользователь задержался в мобилке хотя бы на пару минут.

Profile

lankastersky: (Default)
lankastersky

January 2021

S M T W T F S
      12
3456789
10111213141516
171819 20212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 26th, 2026 01:43 pm
Powered by Dreamwidth Studios