Проблемы экспорта
Atom
18.03.2012
VassilSanych


Появилась потребность экспорта тиков в текстовый формат для загрузки в Amibroker.
Использовал версию гидры 4.0.22
Обнаружил такие проблемы и неточности.
1) Солюшн не собирается из-за постбилда плагина Plaza. Не находит какой-то файл. Мне не надо. Отключил.
2) Экспорт не возможен без загрузки данных в грид. Это косяк, потому что на большое количество строк грид памяти жрёт немеряно.
Нет информации об окончании экспорта, кроме отвисания формы. Поправил. И то, и другое и зависание. Раз доступ мне не дали, берите файлы отсюда.
TradesWindow.rar 3 KB (263)

Теги:


Спасибо:


< 1 2 3 4  >
VassilSanych

Фотография
Дата: 22.03.2012
Ответить


Это где я писал про производительность?
Был не прав. Мой косяк.
Спасибо:

VassilSanych

Фотография
Дата: 22.03.2012
Ответить


Метод Read работает.
Но сути это в целом не меняет.
Память как жралась, так и жрётся (может быть меньше на самую малость).
Проблема скорее всего в методе вывода в файл. Профайлером памяти не мерял ещё.
Свой код оттестирую, выложу - сами посмотрите.
Спасибо:

VassilSanych

Фотография
Дата: 22.03.2012
Ответить


Выложил.
---------
Заодно поймал ошибку экспорта в эксель:
слишком много строк для XLS (больше 65000).
XLSX поддерживает гораздо больше строк.
Но всё-равно проблему наверное стоит решать дроблением файлов.
Спасибо:

Mikhail Sukhov

Фотография
Дата: 22.03.2012
Ответить


VassilSanych
XLSX поддерживает гораздо больше строк.
Но всё-равно проблему наверное стоит решать дроблением файлов.


Раньше использовался коммерческий компонент. Сейчас он не используется, а используется NPOI. Может быть попробовать новые версии http://code.google.com/p/npoi/ ? Вышла какая-то, правда в бета режиме.
Спасибо:

VassilSanych

Фотография
Дата: 22.03.2012
Ответить


Выложил изменение:
Ограничил количество данных, выгружаемых в XLS, как и количество данных отображаемых в списке.
Если кому надо, делайте дробление / пейджинг.
А так хоть работает стабильно.
Спасибо:

Alexander

Фотография
Дата: 22.03.2012
Ответить


Mikhail Sukhov
VassilSanych
XLSX поддерживает гораздо больше строк.
Но всё-равно проблему наверное стоит решать дроблением файлов.


Раньше использовался коммерческий компонент. Сейчас он не используется, а используется NPOI. Может быть попробовать новые версии http://code.google.com/p/npoi/ ? Вышла какая-то, правда в бета режиме.


не надо. я обновлял, полезли ворнинги. от npoi зависит другой компонент ещё
Спасибо:

VassilSanych

Фотография
Дата: 23.03.2012
Ответить


VassilSanych

Память как жралась, так и жрётся (может быть меньше на самую малость).
Проблема скорее всего в методе вывода в файл.

В общем так оно и есть.
Запустил профилировщик памяти на данных RI за 2 дня (снапшот за 3 дня в оперативке не помещается), остановил после минуты работы.
См. memory.png
До кучи запустил профилировщик времени на тех же данных, но дождался окончания работы (работает очень медленно)
См. time.png
Видимо используется слишком сложная библиотека форматирования по шаблону, предназначенная не столько для больших объёмов, сколько для сложной структуры данных.
memory.png 236 KB (185) time.png 414 KB (206)
Спасибо:

Mikhail Sukhov

Фотография
Дата: 23.03.2012
Ответить


VassilSanych

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


Согласен. Я экспортирую все в ручную, если требуется. Но для универсальности решил взять StringTemplate. Может есть какие-то другие альтернативы?
Спасибо:

VassilSanych

Фотография
Дата: 23.03.2012
Ответить


Переделал для себя экспорт в текст через библиотеку SmartFormat.
Память не жрёт. Работает в несколько раз быстрее.
Нада?
Спасибо:

Mikhail Sukhov

Фотография
Дата: 23.03.2012
Ответить


VassilSanych
Переделал для себя экспорт в текст через библиотеку SmartFormat.
Память не жрёт. Работает в несколько раз быстрее.
Нада?


https://github.com/scottrippey/SmartFormat/wiki Это? Давайте. Только можно ее под 4.0 перекомпилировать, чтобы не было предупреждений компилятора.
Спасибо:
< 1 2 3 4  >

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy