Dale
|
|
« : 13-12-2010 23:04 » |
|
|
|
« Последнее редактирование: 27-10-2011 11:03 от Dale »
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
npak
|
|
« Ответ #1 : 16-12-2010 13:45 » |
|
Да, я недавно обнаружил у себя в одной программе функцию, на которую приходилось 50% времени. И ещё одну, на которую приходилось 25%. Первая вызывала new для мелкого объекта, а вторая вызывала delete
Переход на STL контейнеры здорово помог.
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #2 : 16-12-2010 17:40 » |
|
Полезная статья.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Dale
|
|
« Ответ #3 : 16-12-2010 17:51 » |
|
Полезная статья. Да, я даже ради нее ненадолго отложил свою статью по задачам синхронизации. Такие вещи нельзя упускать. Тем более под свежим впечатлением от прогулки по ресурсам для разработчиков микроконтроллеров... Там такой горе-оптимизатор на оптимизаторе сидит и оптимизатором же погоняет. Причем старые дураки учат глупостям молодых, готовят себе смену.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Dale
|
|
« Ответ #4 : 17-12-2010 09:38 » |
|
Думаю, что стоит объяснить, что за "Ц" - сходу не сразу понятно. Не понятно преобразование C*n2 -> O(n2). Сделал врезку с пояснением от себя. Получилось вроде многовато, но не должно остаться неясностей. Как читается, не перемудрил?
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
npak
|
|
« Ответ #5 : 17-12-2010 09:56 » |
|
Можно ещё добавить до кучи Дональда Кнута: "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil"
|
|
|
Записан
|
|
|
|
Антон (LogRus)
|
|
« Ответ #6 : 20-12-2010 04:15 » |
|
хорошая статья, мне понравилось давно и полностью поддерживаю автора нефиг оптимизировать, пока нет проблемы, за исключением редких случаев
|
|
|
Записан
|
Странно всё это....
|
|
|
Dale
|
|
« Ответ #7 : 20-12-2010 07:05 » |
|
нефиг оптимизировать, пока нет проблемы Да и даже когда есть проблема, все равно нефиг оптимизировать что попало, не промерив сначала все досконально. Но это ж думать надо...
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Антон (LogRus)
|
|
« Ответ #8 : 20-12-2010 09:42 » |
|
нефиг оптимизировать, пока нет проблемы Да и даже когда есть проблема, все равно нефиг оптимизировать что попало, не промерив сначала все досконально. Но это ж думать надо... что бы что-то улучшить, надо это что-то измерить
|
|
|
Записан
|
Странно всё это....
|
|
|
Dale
|
|
« Ответ #9 : 20-12-2010 09:50 » |
|
что бы что-то улучшить, надо это что-то измерить Для умных людей это очевидно Глупые предпочитают разглагольствовать о преимуществах ассемблеров перед ЯВУ, нативного кода перед управляемым и т.д. Оно как-то проще, чем мерить...
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
Oleg
Интересующийся
Offline
|
|
« Ответ #10 : 31-05-2011 08:13 » |
|
Отличная статья. На курсах фирмы 1С, которые я посещал, нам говорили те же самые слова про оптимизацию...
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #11 : 31-05-2011 15:20 » |
|
На курсах фирмы 1С, которые я посещал, нам говорили те же самые слова про оптимизацию... Боюсь, что в этой среде, как у разных php-шников, толики оптимизации как раз не помешает. Но, разумеется, не преждевременной.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #12 : 31-05-2011 15:34 » |
|
о, я тоже вдруг добрался почитать Непонятный: момент (причём с переводом всё верно - в оригинале я глянул, тоже не понял) Это не помешало Microsoft полностью разрушить объектную модель C++, построенную на хэндлерах сообщений; когда вы вызываете CWnd::OnWhatever(...), вместо действительного вызова DefWindowProc с переданными вами параметрами они повторно используют параметры последнего сообщения для вызова ::DefWindowProc. Так я и не понял, что тут имел в виду автор. Почему вдруг обработчик события (вернее - сообщения windows) вдруг вызывается НАМИ ? Он же вызывается каркасом из оконной процедуры. Параметры какие передались, такие и будут переданы далее через стек - в общем, что-то тут напутано )) Добавлено через 1 минуту и 20 секунд:хотя, может быть, какая-то тонкость в переводе тут
|
|
« Последнее редактирование: 31-05-2011 15:35 от Алексей1153 »
|
Записан
|
|
|
|
Dale
|
|
« Ответ #13 : 31-05-2011 21:46 » |
|
Запутанный пример с MFC, наверное, вообще не стоило приводить, и без него принцип вполне понятен: оптимизировать GUI, где все определяется реакцией пользователя, - самое бесполезное занятие.
|
|
|
Записан
|
Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.
Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard
Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #14 : 01-06-2011 07:20 » |
|
Иногда требуется - когда это GUI тормозит. А вообще, считаю, что в GUI главное - однотипность поведения форм. Чтобы пользователя достаточно было один раз научить.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Oleg
Интересующийся
Offline
|
|
« Ответ #15 : 01-06-2011 18:51 » |
|
На курсах фирмы 1С, которые я посещал, нам говорили те же самые слова про оптимизацию... Боюсь, что в этой среде, как у разных php-шников, толики оптимизации как раз не помешает. Но, разумеется, не преждевременной. У 1С есть готовые методики программирования, заточенные под оптимизацию Но "биться" за 5% производительности не имеет смысла, если пользователь ждёт выполнения отчёта 1-2 секунды.
|
|
|
Записан
|
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #16 : 01-06-2011 21:59 » |
|
По моему опыту, внедряемая оптимизация должна изменять двоичными порядками. Хотя бы на 50% - иначе достигнутое не оправдывает последующую ловлю глюков. Т.е., при тормозах в софте эксперименты по оптимизации все равно проводишь, но внедрение результата — только по показателям. Опять же по своему опыту, со своей спецификой: основные тормоза за БД, реже - за GUI (например, не рассчитано длинные списки (особо VB это не любит) или большие объемы данных RPC), вычисления же в оптимизации нуждаются редко. Может у кого другая специфика и другая статистика.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
|