Сегодня решил померить ... хм... производительность загрузчика из Excel и сравнить ее с производительностью Ri K_ SQL?.
Для замеров использовалась обработка «Тест быстродействия при работе с Excel.ert?", которая идет вместе с Ri K_ SQL?. Сначала этой обработкой создавался тестовый файл на 10000 строк и 256 столбцов, заполненный числами, затем сравнивалось время работы загрузки при помощи Ri K_ SQL? и Йокселя.
Итак, время:
Окончания загрузки из Excel по OLE дождаться не смог (но минут несколько – точно).
Потребление памяти:
Чуть подумав, немного изменил тест. Вместо заполнения выгружаемой таблицы числами, заполнил ее строками. Т.е. изменил следующую строку:
На такую:
Итак, время:
Ну что можно сказать... Разница объясняется тем, что Ri K_ SQL? загружает данные в ТЗ и, естественно, не пытается сохранить форматирование. Йоксель же грузит в табличный документ своего формата и пытается сохранить форматирование. Также в тестовом файле Йоксель при загрузке преобразует числовые значения в текст на что нужно время. В принципе, преобразования можно избежать – понадобятся не очень большие модификации конвертера. Правда, пока не ясно, стоит ли возиться? Скорость, в принципе, нормальная – на обычных, не тестовых, файлах разница между Ri K? и Йокселем будет очень мала. К тому же Йоксель ведь не задумывался как средство вытягивания данных из Excel – для него главное более-менее корректная работа с табличными документами.
Попробовал, кстати, немного поиграть с тестовым файлом. Сохранил его в mxl и открыл Мокселем. Скорость открытия очень высокая – быстрее Ri K_ SQL? для Excel. А вот памяти Моксель сожрал 434Мб... (напомню, Йоксель на таком файле ест 229 Мб). Объем mxl-файла составил более 100Мб. xls-файл с числами занял 15Мб. xls-файл со строками 34 Мб.
Ссылок на эту страницу нет