Re[8]: Почему преждевременная оптимизация - корень всех зол?
От: . Великобритания  
Дата: 08.10.08 19:36
Оценка:
Здравствуйте, nikov, Вы писали:

N>Кстати, предварительная сортировка коллекций и то даст лучший результат, чем вложенные циклы.

Не всегда, возможно что затраты на потребление памяти и мусорщика перевесят код тупых циклов.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[5]: В защиту пузырька
От: . Великобритания  
Дата: 08.10.08 19:40
Оценка:
Здравствуйте, _DAle_, Вы писали:

_DA>Не в тему, но.. всегда интересовало, почему в качестве самой простой (ну или первой в книге) сортировки приводят bubble sort. IMHO, не знающему алгоритмов сортировки школьнику придет в голову скорее алгоритм: находим минимум, меняем с первым, и т.д. Обычный selection sort, простой как топор, еще и эффективнее, чем пузырек.

Может чтобы плавно перейти от алгоритмов к их эффективности. Типа "вот вам пурызрёк — всё работает, но мееедленно, вот давайте поизобретаем что-нибудь более интересное". Показать учащимся, что не всегда факт, что заработало, говорит о том, что задача решена.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[22]: Почему преждевременная оптимизация - корень всех зол
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.10.08 05:38
Оценка:
Здравствуйте, Юрий Жмеренецкий, Вы писали:

ЮЖ>Легко, например O(N^2). Это гарантия.

Это пять!!!

ЮЖ>Баг в моей интерпретации — если вместо O(N) — по факту О(N^2).

А это совсем круто!

ЮЖ>Надо обеспечить поиск с логарифмической сложностью(это контракт 'для use-case'). Почему ты не будешь использовать пузырек ?

Откуда такие use-case? Это даже не use-case.

S>>Во-вторых, это понимание глубинного принципа рыночной экономики — satisficing. Он состоит в том, что нам важнее не абсолютная производительность/качество/итд, а достаточная.

ЮЖ>Достаточное качество/итд бывает оочень разным.
Достаточно качество итд — когда заказчик говорит "Good enough" и все.
Re[23]: Почему преждевременная оптимизация - корень всех зол
От: Alxndr Германия http://www.google.com/profiles/alexander.poluektov#buzz
Дата: 09.10.08 06:04
Оценка:
Здравствуйте, gandjustas, Вы писали:

S>>>Во-вторых, это понимание глубинного принципа рыночной экономики — satisficing. Он состоит в том, что нам важнее не абсолютная производительность/качество/итд, а достаточная.

ЮЖ>>Достаточное качество/итд бывает оочень разным.
G>Достаточно качество итд — когда заказчик говорит "Good enough" и все.

Ты может забыл, что предметные области бывают разными.
Enterprise — один мир, mission/safety critical — другой, desktop — третий и т.п. И в каждом из них это "good enough" совершенно разное.
Re[24]: Почему преждевременная оптимизация - корень всех зол
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.10.08 18:33
Оценка:
Здравствуйте, Alxndr, Вы писали:

A>Здравствуйте, gandjustas, Вы писали:


S>>>>Во-вторых, это понимание глубинного принципа рыночной экономики — satisficing. Он состоит в том, что нам важнее не абсолютная производительность/качество/итд, а достаточная.

ЮЖ>>>Достаточное качество/итд бывает оочень разным.
G>>Достаточно качество итд — когда заказчик говорит "Good enough" и все.

A>Ты может забыл, что предметные области бывают разными.

A>Enterprise — один мир, mission/safety critical — другой, desktop — третий и т.п. И в каждом из них это "good enough" совершенно разное.

И что? В critical программах в достаточные характеристики описываются в формально спецификации.
Re[5]: Почему преждевременная оптимизация - корень всех зол?
От: remark Россия http://www.1024cores.net/
Дата: 12.10.08 09:45
Оценка:
Здравствуйте, Mirrorer, Вы писали:

M>Здравствуйте, Pavel Dvorkin, Вы писали:


PD>>При условии, что для этой оптимизации не требуется полностью изменить алгоритм и структуры данных программы. А вот если потребуется — пишите все с начала.


M>Необязательно все. Интеграционные тесты останутся. Если интрефейс к внешним системам не менять.


Тесты — это не часть системы в данном контексте. Их можно было написать и до самой системы.


1024cores — all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.