Need help! Не решается задача, упираюсь в ограничения железа - страница 18
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Тестовый скрипт и результаты выполнения.
HDD:
2014.08.22 21:16:43.584 sTest_ReadWriteBIN EURUSD,M1: 100000 secuences writed in 39.8 sec
2014.08.22 21:17:24.174 sTest_ReadWriteBIN EURUSD,M1: 4156 Mb loaded in 40.0 sec (103.9 MB/sec)
RAM-диск:
2014.08.22 21:22:15.170 sTest_ReadWriteBIN EURUSD,H1: 100000 secuences writed in 27.6 sec
2014.08.22 21:22:42.805 sTest_ReadWriteBIN EURUSD,H1: 4158 Mb loaded in 27.6 sec (150.4 MB/sec)
Все равно не впечатляет. Правда, условия тестов сейчас не совсем чистые, много чего на компе работает.
Позже повторю.
TheXpert:
Кстати если известно место начала каждой последовательности, нужные даты можно искать бинарным поиском, т.к. сделки упорядочены по времени.
+1, спасибо за идею.
подозреваю что берешь подменяешь чтение на WinAPI аналог и получаешь прирост по скорости для RAM диска раза этак в 2-3 минимум
По идее, только FileOpen тормозит, а чтение должно быть быстрым. Но я проверю.
Можно также применять интерполяционный поиск, который, скорее всего, в этой задаче будет работать ещё быстрее.
Круть, спасибо.
...
Все равно не впечатляет.
...
В С++ это делается fread-ом в буфер 64К-128К, разбирать лучше своим парсером, ибо sscanf-ы сильно тормозные.
В С++ можно и без парсера если:
толкаю идею в 10 раз - завести еще один файл с значениями начала позиций последовательностей в другом файлу, тогда в структуре последовательности даже не нужно будет хранить количество сделок.
Поскольку задача довольно академическая (смахивает на вопрос при приеме программера на работу) и многие проявили к ней интерес, почему бы не сформулировать её более строго в плане формата описания исходных данных, и все желающие могли бы себе нагенерить 20 Гигов тестовых данных и представить свое практическое решение?
+100
Задача нетривиальна, но нет еще ни одной строчки кода. Андрей, многие здесь заинтересовались - сформулируй задачу, предложи тестовые данные. Устроим спортивное программирование.
+100
Задача нетривиальна, но нет еще ни одной строчки кода. Андрей, многие здесь заинтересовались - сформулируй задачу, предложи тестовые данные. Устроим спортивное программирование.
Задача уже была поставлена.