На данном этапе анализировалась скорость импорта/экспорта практически всех доступных в Deductor 5.3 файловых источников данных: xlsx, xls, dbf, txt, csv, ddf.
Примечание: в тестировании не принимают участие источники данных в виде html-страниц.
Тестирование проводилось для наборов данных объемом 10-100 тыс. записей с шагом 10 тыс.
В ходе тестирования было осуществлено порядка 20 тысяч прогонов, из которых около 2 тысяч прогонов оказались не очень удачными, и были исключены из последующего анализа результатов.
Среднее время каждого прогона составляет приблизительно 4,35 секунды. Таким образом, общее время анализа составило порядка 24 часов. Большое время анализа обусловлено необходимостью сбора большего по сравнению с другими тестами количества статистических данных. В силу того, что время импорта/экспорта сравнительно небольшого количества записей лежит в крайне узком диапазоне значений (от долей секунды до нескольких секунд), любое колебание скорости выполнения операций приводит к появлению выбросов и экстремальных значений, что негативно может отражаться на результатах конечной выборки.
В качестве примера производительности приведем средние показатели динамики времени импорта/экспорта от количества записей в файле. Количество полей = 8.
Графики получены путем агрегации показателей для различных типов данных и отражают лишь общую (и весьма условную) зависимость времени импорта/экспорта от количества записей в файле. Для получения более подробной информации о производительности файловых источников на различных типах данных от анализа времени перейдём к оценке скорости, что позволит представить результаты всех измерений в наиболее компактном виде.
Начальный анализ полученных результатов показывает, что наибольшим быстродействием обладает вариант использования источников данных в виде ddf-файлов. По скорости импорта/экспорта этот тип файлов превосходит «конкурентов» на порядок, в десятки, а подчас и сотни раз (рисунки 3 и 4).
При сравнении скоростей импорта и экспорта ddf-файлов (Рисунок 5) можно увидеть, что импорт из ddf-файла осуществляется приблизительно в 4 раза быстрее экспорта.
При этом стоит обратить внимание на то, что скорость импорта/экспорта числовых типов данных и типа данных «дата» практически не отличается, в то время как импорт строковых типов данных осуществляется медленнее в 2-3 раза.
В силу того, что ddf-файлы могут быть использованы только платформой Deductor и могут рассматриваться только в качестве внутренних источников информации, отдельный интерес представляют детальные результаты по остальным типам файлов.
Из рисунка 8 видно, что у большинства источников данных (кроме ddf-файлов) скорость импорта ниже скорости экспорта
Кроме скорости импорта/экспорта достаточно существенным показателем является размер используемых файлов, применяемых для хранения представленной информации
Полученные результаты показывают, что наиболее компактный формат хранения – это xlsx-файлы, в то время как xls-файлы наоборот в большинстве случаев имеют наибольший размер.
В качестве примера в таблице (Таблица 1) представлены данные о размерах (в Мб) файлов-источников в зависимости от используемого формата файла данных. Данные представлены для файлов, содержащих 8 столбцов и 60 тысяч строк.
Формат данных | Формат файлов | |||||
---|---|---|---|---|---|---|
1.xlsx | 2.xls | 3.dbf | 4.txt | 5.csv | 6.ddf | |
1.Целые числа | 4,22 | 7,97 | 6,92 | 7,44 | 4,58 | 4,12 |
2.Дробные числа | 4,23 | 9,60 | 6,92 | 7,44 | 5,50 | 4,12 |
3.Даты | 2,79 | 9,60 | 3,72 | 7,44 | 5,09 | 4,12 |
4.Строки: с повторениями | 1,32 | 7,76 | 11,04 | 11,56 | 3,95 | 10,74 |
5.Строки: 50 случайных букв | 8,43 | 55,77 | 22,95 | 23,46 | 23,40 | 29,98 |
На рисунке 9 представлена зависимость размера файлов от количества записей при фиксированном количестве полей (8 полей). Графики получены агрегированием показателей для всех представленных типов данных.
Как видно из графиков, размер файлов линейно зависит от количества записей в файле. Наибольший прирост размера файла демонстрируют xls-файлы, а наименьшую – xlsx-файлы.