![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
TarasBer |
![]()
Сообщение
#1
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Прочитав умные мысли про то, что память эффективнее выделять кусками, размер которых равен степени 2, я решил применить её в D7, подменив менеджер памяти на свой, отличающийся только тем, что размер блока дополняет до степени 2, и сравнить эффективность родного менеджера и подкорректированного.
Программа вывела вот что (на современном компе): Код 1031 1297 Я сделал такой вывод - при работе с динамическими массивами можно не заморачиваться и увеличивать длину по единичке, всё реализовано достаточно эффективно, советы дополнять до степени 2 в D7 (да и в других версиях, наверное, тоже) никакого смысла не имеют. Выходит, так? -------------------- |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Прочитав умные мысли про то, что память эффективнее выделять кусками, размер которых равен степени 2 Это где такие мысли написаны? Можно нам тоже почитать?Со своей стороны могу подтвердить, да, в Д2009 то же самое, при запуске этой программы (запускал несколько раз) среднее значение для родного менеджера составило около 185, для измененной ReallocMem - около 250. Еще доп. информация - детальное описание менеджера памяти Д7: RSDN -> Менеджер памяти Delphi, там описан алгоритм, по которому происходит выделение и перераспределение памяти, и сделаны некоторые выводы о его эффективности. |
![]() ![]() |
![]() |
Текстовая версия | 11.08.2025 0:12 |