Yoksel : 20071204ПроизводительностьКонвертораИзExcel

Блог Производительность конвертера из Excel


Сегодня решил померить ... хм... производительность загрузчика из Excel и сравнить ее с производительностью RiK_SQL.

Для замеров использовалась обработка «Тест быстродействия при работе с Excel.ert», которая идет вместе с RiK_SQL. Сначала этой обработкой создавался тестовый файл на 10000 строк и 256 столбцов, заполненный числами, затем сравнивалось время работы загрузки при помощи RiK_SQL и Йокселя.

Итак, время:

Окончания загрузки из Excel по OLE дождаться не смог (но минут несколько – точно).

Потребление памяти:

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


На такую:


Итак, время:

Ну что можно сказать... Разница объясняется тем, что RiK_SQL загружает данные в ТЗ и, естественно, не пытается сохранить форматирование. Йоксель же грузит в табличный документ своего формата и пытается сохранить форматирование. Также в тестовом файле Йоксель при загрузке преобразует числовые значения в текст на что нужно время. В принципе, преобразования можно избежать – понадобятся не очень большие модификации конвертера. Правда, пока не ясно, стоит ли возиться? Скорость, в принципе, нормальная – на обычных, не тестовых, файлах разница между RiK и Йокселем будет очень мала. К тому же Йоксель ведь не задумывался как средство вытягивания данных из Excel – для него главное более-менее корректная работа с табличными документами.

Попробовал, кстати, немного поиграть с тестовым файлом. Сохранил его в mxl и открыл Мокселем. Скорость открытия очень высокая – быстрее RiK_SQL для Excel. А вот памяти Моксель сожрал 434Мб... (напомню, Йоксель на таком файле ест 229 Мб). Объем mxl-файла составил более 100Мб. xls-файл с числами занял 15Мб. xls-файл со строками 34 Мб.

Ссылок на эту страницу нет