kv75
09:00 03-04-2004 Тайминги
Сегодня поигрался на своём компьютере с таймингами старой и новой версий программ для работы с вышеупомянутыми файлами. Версия 2 отличается от версии 1 изменённым механизмом заполнения таблицы (по столбцам, а не по ячейкам) и слегка ускоренным методом сортировки (без дополнительных затрат памяти, а также обмен по строкам, а не заполнение ячеек).

Имя    Число    Открытие, с  Сортировка, с
файла  записей  вер.1 вер.2  вер.1  вер.2

file1    4715    2,2   2,9    2,2    1,0
file2   31611   12,8  15,6   19,3   12,7
file3   56382   20,2  26,5   53,3   37,5
file4  192729  >1500 680,5    -    191,0


Видно, что новый метод открытия файлов медленнее работает на маленьких файлах, зато выигрывает на больших за счёт отсутствия дикого свопинга, из-за которого старый метод вообще не в состоянии заполнить таблицу на моём компьютере. Новый же механизм обработки результатов сортировки даёт заметный выигрыш на файлах всех размеров.

Тем не менее, компонент TStringGrid всё же слишком неадекватен для задачи обработки больших файлов, поэтому я склоняюсь к мысли о необходимости его замены. Не люблю писать компоненты-заменители стандартных VCL'овских, особенно таких нетривиальных, как таблицы, но, видимо, придётся.