Need help! Не решается задача, упираюсь в ограничения железа - страница 18

 

Тестовый скрипт и результаты выполнения.

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)

 

Все равно не впечатляет. Правда, условия тестов сейчас не совсем чистые, много чего на компе работает.

Позже повторю. 

Файлы:
 
komposter:
подозреваю что берешь подменяешь чтение на WinAPI аналог и получаешь прирост по скорости для RAM диска раза этак в 2-3 минимум
 
komposter:
 

TheXpert:
Кстати если известно место начала каждой последовательности, нужные даты можно искать бинарным поиском, т.к. сделки упорядочены по времени.

+1, спасибо за идею.

Можно также применять интерполяционный поиск, который, скорее всего, в этой задаче будет работать ещё быстрее.
 
TheXpert:
подозреваю что берешь подменяешь чтение на WinAPI аналог и получаешь прирост по скорости для RAM диска раза этак в 2-3 минимум

По идее, только FileOpen тормозит, а чтение должно быть быстрым. Но я проверю.

 

anonymous:
Можно также применять интерполяционный поиск, который, скорее всего, в этой задаче будет работать ещё быстрее.

Круть, спасибо. 

 
komposter:
... 

Все равно не впечатляет.

...

В С++ это делается fread-ом в буфер 64К-128К, разбирать лучше своим парсером, ибо sscanf-ы сильно тормозные. 
 
kazakov.v:
В С++ это делается fread-ом в буфер 64К-128К, разбирать лучше своим парсером, ибо sscanf-ы сильно тормозные. 

В С++ можно и без парсера если:

толкаю идею в 10 раз - завести еще один файл с значениями начала позиций последовательностей в другом файлу, тогда в структуре последовательности даже не нужно будет хранить количество сделок

 
marketeer:
Поскольку задача довольно академическая (смахивает на вопрос при приеме программера на работу) и многие проявили к ней интерес, почему бы не сформулировать её более строго в плане формата описания исходных данных, и все желающие могли бы себе нагенерить 20 Гигов тестовых данных и представить свое практическое решение?

+100

Задача нетривиальна, но нет еще ни одной строчки кода. Андрей, многие здесь заинтересовались - сформулируй задачу, предложи тестовые данные. Устроим спортивное программирование.

 
C-4:

+100

Задача нетривиальна, но нет еще ни одной строчки кода. Андрей, многие здесь заинтересовались - сформулируй задачу, предложи тестовые данные. Устроим спортивное программирование.

Задача уже была поставлена.
 
Vinin:
Задача уже была поставлена.
Нужны тестовые данные + псевдокод, с общими принципами работы с данными. 
 
зачем перебирать варианты из базы? может лучше сгенерировать сделки на истории согласно критериям? не? разве получится не то же, что требуется?