Статистика



Posted by Владимир Секретев (24.42.161.96) on June 01, 2002 at 19:25:39:

In Reply to: Отлично!, и если не затруднит.. posted by Борис, Киев. on June 01, 2002 at 05:36:12:


Действительно, статистика в этом деле очень важна, особенно, если заявляешь, что
"алгоритм работатет быстро".



Качественные эксперименты на однопользовательской версии
========================================================

Для экспериментов был взят компьютер P266 64MB с Windows 98 загруженный в режиме
эмуляции DOS. Использовался, также, smartdrv.exe и однопользовательская 32 разрядная DOS
версия "Финансов" от 8 июня 2001 года. Основной идеей было не замерение максимальной
скорости работы, а выяснение зависимости скорости от количества элементов, то есть характер
графика.

В качестве массива строк были взяты наименования счетов из плана одного из моих клиентов.
То есть экспериментальный массив представляет собой весьма случайный набор строк, при этом
из реальной жизни.

В комплекте имеется два варианта алгоритма, один сортирует массив расположенный в
экстрапараметрах [%], а другой сортирует массив, расположенный собственно в массиве
[a]. Поэтому в табличке две колонки секунд. Число в скобках показывает удельную скорость
работы в миллисекундах на элемент массива.


Количество Время
[%] [a]
---------------------------------------------------------
1400 9 (6.4) 8 (5.7)
1600 10 (6.3) 8 (5.0)
1800 12 (6.7) 9 (5.0)
2000 13 (6.5) 10 (5.0)
2200 15 (6.8) 11 (5.0)
2400 17 (7.0) 13 (5.4)
2600 20 (7.7) 13 (5.0)
2800 20 (7.1) 15 (5.4)
3000 20 (6.7) 15 (6.7)
3200 20 (6.3) 16 (5.0)


Вывод первый.
============
С учетом точности поставленного эксперимента можно утверждать, что алгоритм имеет
линейную характеристику. То есть время потраченное на сортировку одного элемента не
растет от количества элементов в массиве. Это уже приятно!

Вывод втрой.
============
Алгоритм сортирующий массив [a] работает заметно быстрее, примерно на 20%. Это может быть
связано с более оптимальной индексацией элементов массивов по отношению к экстрапараметрам,
а также, с тем, что в алгоритм для массива [a] были внесены возможные в этом случае
оптимизации.


Теперь о результатах, достигнутых на сетевой версии.
===================================================

В качестве сервера использовался компьютер P233 c 64MB.
Сервер ФбП 3.27 от 30.12.2001. OC Win98
Сервер был запущен с высоким приоритетом (fastrun) и следующей командной строкой.

-C10000 .... color old

Выполнение формы, сортирующей 3000 записей в массиве [a] занимает на этой машине 5 секунд.
К сожалению, это не чистое время сортировки, так как часть времени работы формы тратится на
заполнение массива [a] наименованиями счетов и субсчетов. Чистое время будет несколько лучше.

И последнее. Алгоритм для своей работы использует временные экстрапараметры [%].
Расход памти на них при сортировке массива [a] из 3000 элементов составил 16496 байт,
или 5.5 байт на один элемент массива.




Пpишедшие ответы: