Подписаться на блог
В Твиттере

Реплики и ссылки на заметки

В Фейсбуке

Ссылки на заметки

Вконтакте

Ссылки на заметки

В Телеграме

Ссылки на заметки

В Тумблере

Заметки целиком

В Же-же

Заметки целиком

По РСС

Заметки целиком

Если что-то из этого не работает, напишите мне: ilyabirman@ilyabirman.ru.

Сполски об оптимизации

As a programmer, thanks to plummeting memory prices, and CPU speeds doubling every year, you had a choice. You could spend six months rewriting your inner loops in Assembler, or take six months off to play drums in a rock and roll band, and in either case, your program would run faster [...] The developers who ignored performance and blasted ahead adding cool features to their applications will, in the long run, have better applications.
Отсюда, но вообще заметка не про это.
Подписаться на блог
Поделиться
Отправить
6 комментариев
KDA
And those developers will be burning in hell...
Baka
As a user, I don’t see any program running faster.
No matter if I play any drum or not.
Unless I earn money by playing drums to get a new computer each six months.
Spectator
Он бредит.

Упущен «нюанс» — далеко не все пользователи апгрейдят CPU каждые полгода/год. 
Илья Бирман
Ну это short term, в его терминологии ;-)
Алексей Ольшанский
Как всегда, выиграют те, кто сделает и быстрее, и функциональнее.
Shade
спасибо за ссылку на комментарии. не прошло и двух лет, как я просил.
Илья Бирман
Да. Выяснилось, что все РСС-читалки — говно :-)
Mercury
Не так просто с этой оптимизацией. «Оперу»-то разработчики ради чего-то оптимизируют? Надо играть на барабане вместо излишней оптимизации и не чхать на необходимую.

Пример из собственной жизни. Задача: сделать (на Delphi) поддержку текстовых файлов, которая автоматически определяет тип из четырёх возможных: ASCII, Motorola UTF-16, Intel UTF-16 или UTF-8. Сделал на основе считывания по одному-два байта, вроде работает... И оставил года этак на полтора. Года через полтора поднял его — оказывается, файл длиной 300 килобайт читает 10 секунд! Это уже недопустимая задержка, файл должен грузиться за доли секунды.

Выяснилось: виной всему внутренняя кухня паскалевского типа String. Решил делать так, чтобы длина строки менялась как можно реже — читаем кусок файла в буфер, а затем, когда надо, расширяем строку командой SetLength и в это место командой Move переносим большой кусок строки. И три версии такой функции — Ascii, Native byte order (Intel), Swapped byte order (Motorola). Всё это заняло один рабочий день. Но, думаю, оптимизация оправдала себя.

Пользовательский интерфейс
Доступен первый раздел
электронного учебника

Популярное