Форум: "Прочее";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];
ВнизНикто не хочет написать НОВУЮ статью про оптимизацию? Найти похожие ветки
← →
maxon (2008-07-08 00:05) [0]Найдется ли среди вас тот, кто захочет и напишет новую статью про оптимизацию программы? А то новых нет а старые - они старые, да и мало там чего написано.
← →
Ega23 © (2008-07-08 00:06) [1]Какую именно программу оптимизируем?
← →
umbra © (2008-07-08 00:08) [2]есть прекрасный мануал про оптимизацию приложений для процессора Интел. Можноскачать на сайте Интела. Думаю, про АМД есть аналогичный :)
← →
maxon (2008-07-08 00:16) [3]
> Ega23 © (08.07.08 00:06) [1]
>
> Какую именно программу оптимизируем?
Любая на Object Pascal (Delphi) - для большинства и для новичков чтоб...
> umbra © (08.07.08 00:08) [2]
>
> есть прекрасный мануал про оптимизацию приложений для процессора
> Интел. Можноскачать на сайте Интела. Думаю, про АМД есть
> аналогичный :)
А какой уровень (сложность в смысле)?
← →
umbra © (2008-07-08 00:22) [4]
> А какой уровень (сложность в смысле)?
Про оптимизацию для архитектуры процессора :)
← →
Ega23 © (2008-07-08 00:24) [5]
> Любая на Object Pascal (Delphi) - для большинства и для
> новичков чтоб...
А что тут непонятного?
1. Если можно пройти за один цикл - проходи за один цикл.
2. Сделай вычисления каких-то функций ДО тела цикла
3. Помни, что это только выглядит так простоfor i:=0 to 100 do
s := s + IntToStr(i);
4. Оптимизация хороша далеко не всегда. Иногда лучше не самый оптимальный, но зато более читабельный код.
← →
maxon (2008-07-08 00:32) [6]2 umbra:
Неее это не то. Во всяком случае пока...
2 Ega23:
Ну это и так все понятно.
Но, я тут на исходниках.ру читал статью про строки и пришел к выводу, что я о них почти ничего не знаю. Одним словом если есть к.л. недокументированные возможности по оптимизации, то хотелось бы о них знать!
← →
Petr V. Abramov © (2008-07-08 00:39) [7]
> Ega23 © (08.07.08 00:24) [5]
> Иногда лучше не самый оптимальный, но зато более читабельный
> код.
лучше, когда матерится читающий, чем юзающий.
← →
maxon (2008-07-08 00:41) [8]
> лучше, когда матерится читающий, чем юзающий.
+
← →
Германн © (2008-07-08 02:04) [9]
> maxon (08.07.08 00:32) [6]
>
> Но, я тут на исходниках.ру читал статью про строки и пришел
> к выводу, что я о них почти ничего не знаю. Одним словом
> если есть к.л. недокументированные возможности по оптимизации,
> то хотелось бы о них знать!
>
1. Что за статья?
2. Если почти ничего не знаешь, то как можно говорить об "оптимизации"?
3. Ну а "недокументированные возможности по оптимизации того, о чем почти ничего не знаешь" кроме геморроя ничего не дадут. Имхо.
← →
Marser © (2008-07-08 02:54) [10]Лучше, когда никто не матерится.
← →
iZEN (2008-07-08 07:21) [11]Интересно, в Delphi конкатенация строк производится всё так же тупо через перевыделение памяти?
← →
Loginov Dmitry © (2008-07-08 07:57) [12]> Интересно, в Delphi конкатенация строк производится всё
> так же тупо через перевыделение памяти?
Если конкатенацию делать через "+" - то тупо через перевыделение памяти. Большое количество операций конкатенации строк может привести к реальным тормозам.
Еще можно делать через Insert(Substr, Dest, Length(Dest) + 1). Результат тотже, однако производительность может быть на порядки выше в связи с резервированием дополнительной памяти менеджером памяти.
← →
Anatoly Podgoretsky © (2008-07-08 08:45) [13]> iZEN (08.07.2008 7:21:11) [11]
ABCDE а в других языках, что бы объединить B и D как то обходятся что ли.
← →
sniknik © (2008-07-08 08:46) [14]> Интересно, в Delphi конкатенация строк производится всё так же тупо через перевыделение памяти?
гораздо интереснее как бы сделал ты, по другому "не тупо"?
> Loginov Dmitry © (08.07.08 07:57) [12]
а в случае с + она что не резервируется? менеджер то один, и насколько помню в дельфевских программах им сразу резервируется какоето количество памяти, при старте, а после выделение идет из этого "откушенного" у системы блока (если пользоваться дельфевскими функциями, а не системными).
чтото вроде, в общем. с конкретикой мог напутать.
← →
Loginov Dmitry © (2008-07-08 08:51) [15]> а в случае с + она что не резервируется?
в случае с + она, видимо, перераспределяется. Не разбирался, как на самом деле, но видимо что так.
← →
ketmar © (2008-07-08 11:17) [16]>[3] maxon (2008-07-08 00:16:00)
>Любая на Object Pascal (Delphi) — для большинства и для новичков чтоб…
купить «Алгоритмы+структуры данных» и учить, как Устав.
---
All Your Base Are Belong to Us
← →
oldman © (2008-07-08 11:21) [17]Удалено модератором
Примечание: Флудить завязываем
← →
sniknik © (2008-07-08 11:34) [18]> в случае с + она, видимо, перераспределяется.
без разницы. простая логика подсказывает, что в обоих случаях действия должны быть одинаковы... не получится просто по другому.
в обоих случаях (с + возьмем аналог твоего Insert-а -> Dest:= Dest + Substr) на входе есть 2 коротких строки, а на выходе получается одна длиннее, расширить блок памяти в которой находится строка Dest невозможно, без риска "убить" данные с сопредельном блоке, впихнуть длинную строку в меньшую тоже, -> единственный вариант выделить память под новую длину и скопировать туда объединяемые данные. и неважно какой из этих вариантов использовать, факт в виде более длинной строки на выходе присутствует в обоих.
другое дело (если отойти от этих вариантов) множественная конкатенция... тут да, можно оптимизировать, заранее, один раз выделив память и копируя в нее данные, без множества перераспределений. т.е. поменять логику, но не заменив одну функцию другой. на одной же операции, и логику сменить не удастся.
← →
ketmar © (2008-07-08 11:38) [19]>[6] maxon (2008-07-08 00:32:00)
>если есть к.л. недокументированные возможности по оптимизации, то хотелось бы о
>них знать!
не надо тебе о них знать. впрочем, если охота — можешь разобрать на бийтики код, который генерит компилятор + проштудировать системные модули из генофонда. так и узнаешь, и поймёшь, почему оно тебе не надо. да и вообще — занятие полезное. а просто получить гримуар с заклинаниями — дело дурное.
---
All Your Base Are Belong to Us
← →
sniknik © (2008-07-08 11:38) [20]> купить «Алгоритмы+структуры данных» и учить, как Устав.
она не НОВАЯ. %)
и потом тебя же просили написать ему статью а не посоветовать. (милая такая традиция складывается, начать писать под каждого конкретного читателя... кучей авторов. очень уж многие этого просят. вместо того чтобы наоборот, и принять, что есть - один автор для многих.)
← →
ketmar © (2008-07-08 11:41) [21]>[20] sniknik © (2008-07-08 11:38:00)
>она не НОВАЯ. %)
а я дату у файла поменяю, на новой бумажке напечатаю — вот и будет новая. %-)
---
All Your Base Are Belong to Us
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.073 c