Re[2]: Функции должны быть компактными
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.04.16 07:18
Оценка: +4 -2
Здравствуйте, Философ, Вы писали:

Ф>О такой мелочёвке нужно можно заботиться только после того как ты отпрофилировал программу. До профайлинга нужно написать удобочитаемый и легко изменяемый код.

Ф>Когда после профилировки ты выяснишь, что у тебя какой-нибудь Math.Max() не заинлайнен компилятором, и существует милиард его вызовов, и что от милиарда вызовов никуда не уйти (а именно в этом бОльшая часть оптимизаций и заключается), тогда и заинлайнишь — не раньше.
Ф>В ином случае ты рискуешь во время написания отловить блох, а в итоге получить O(n!) там, где должен быть O(n log(n)).

Заметим, чтобы получился O(n log(n)), об этом надо сразу думать, еще на стадии проектирования.

Т.е., идея, что сначала пишем красиво, потом когда-нибудь оптимизируем, работает в отношении низкоуровневых оптимизаций. Но если вы выбрали на стадии проектирования такое представление данных, что быстрее, чем за время O(n^3) с ними работать не получается, вряд ли вы на поздней стадии получите хотя бы O(n^2)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.