Lazarus в Windows - неполадки в сравнении строк

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Аватара пользователя
Alexander
энтузиаст
Сообщения: 864
Зарегистрирован: 18.12.2005 18:10:00
Откуда: оттуда
Контактная информация:

Сообщение Alexander »

Спасибо за тест! Это действительно быстро.
./test
Сортировка строк:
DpSort: 12945.259951 мс
GcSort: 0.41066 мс
Результаты совпадают

Сортировка таблицы:
DpSort: 15329.98122 мс
GcSort: 5.604365 мс
Результаты совпадают
Но я совершенно не вижу утечек памяти, как их обнаружить? У меня:
valgrind -s sortucs4 p10.txt
==3791== Memcheck, a memory error detector
==3791== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==3791== Using Valgrind-3.24.0 and LibVEX; rerun with -h for copyright info
==3791== Command: sortucs4 p10.txt
==3791==
Файл содержит 60 строк
Файл загружен в память. Начинается сортировка.
Файл "p10.txt" успешно отсортирован.
==3791==
==3791== HEAP SUMMARY:
==3791== in use at exit: 0 bytes in 0 blocks
==3791== total heap usage: 446 allocs, 446 frees, 101,133 bytes allocated
==3791==
==3791== All heap blocks were freed -- no leaks are possible
==3791==
==3791== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
По скорости на 12 мегабайтном файле:
time sortucs4 p10000.txt
Файл содержит 60000 строк
Файл загружен в память. Начинается сортировка.
Файл "p10000.txt" успешно отсортирован.

real 0m0,741s
user 0m0,645s
sys 0m0,088s
iskander
энтузиаст
Сообщения: 627
Зарегистрирован: 08.01.2012 18:43:34

Сообщение iskander »

Alexander писал(а):Но я совершенно не вижу утечек памяти, как их обнаружить?
Как по мне, самый простой способ:
добавить в модуле программы сразу после begin

Код: Выделить всё

...
begin
{$if declared(UseHeapTrace)}
  SetHeapTraceOutput('heap.log');
{$endif}
...
end.
в свойствах проекта поставить галку "Использовать модуль Heaptrc".
Ответить