Как вы думаете что будет быстрее по скорости Memory Maped Files или локальная функция FileWrite с условием что файл будет размещен на RAMDisk ?
Чисто теоретически, мне кажется, что Memory Maped Files должно быть быстрее, ибо для любого диска будут ещё накладные расходы на взаимодействие с файловой системой и, возможно, на кэширование (тут, в случае RAM-диска, может быть как плюс, так и минус).
Чисто теоретически, мне кажется, что Memory Maped Files должно быть быстрее, ибо для любого диска будут ещё накладные расходы на взаимодействие с файловой системой и, возможно, на кэширование (тут, в случае RAM-диска, может быть как плюс, так и минус).
RAMDisc, у меня показывает просто невероятную скорость, по сравнению с MMF.
Но насколько результаты, релевантны, учитывая исполнение варианта с MMF, от fxsaber, неизвестно.
RAMDisc + WriteString 50к циклов записи 16мс
MMF 50к циклов записи 953мс
Чисто теоретически, мне кажется, что Memory Maped Files должно быть быстрее, ибо для любого диска будут ещё накладные расходы на взаимодействие с файловой системой и, возможно, на кэширование (тут, в случае RAM-диска, может быть как плюс, так и минус).
Да вы были правы моя ошибка. Если открывать и закрывать файл то Memory Maped Files намного быстрее. Без закрытия файла файл это тоже по сути Memory Maped Files только без совместного доступа
Да вы были правы моя ошибка. Если открывать и закрывать файл то Memory Maped Files намного быстрее. Без закрытия файла файл это тоже по сути Memory Maped Files только без совместного доступа
Я не знаю, как под виндой, а у меня под Линуксом есть ощущение, что файловые операции из MQL5 очень сильно тормозят. Создание/удаление десятков тысяч файлов из MQL5 в разы, если не на порядки, медленнее баш-скрипта.
И, похоже, основные тормоза - работа с каталогом. Возможно, это издержки Wine и/или работы с неродной файловой системой (EXT4).
Что то не особо заметны скорости RAMDISC по сравнению с HDD/ HDD Быстрее RAMDisc )) 1844 ms 2813 ms как такое возможно не понятно ))
#property script_show_inputs input int sleep=200; #include <Files\FileBin.mqh> input string InpName ="RAMDiscs\\"; #define MAX_SIZE 2000 CFileBin O; void OnStart() { //--- int data =0; uint start=GetTickCount(); int size = sizeof(int); for(int i=0; i<MAX_SIZE; i++) { O.Open(InpName+IntegerToString(i),FILE_WRITE|FILE_READ|FILE_SHARE_READ|FILE_BIN); O.WriteInteger(i); O.Close(); } //--- Get the spent time in milliseconds uint time=GetTickCount()-start; //--- Output a message to the Experts journal PrintFormat("Calculating %d RAMDisc writing took %d ms",MAX_SIZE,time); } //+------------------------------------------------------------------+
Что то не особо заметны скорости RAMDISC по сравнению с HDD/ HDD Быстрее RAMDisc )) 1844 ms 2813 ms как такое возможно не понятно ))
Вот это, возможно, кэширование.
Что то не особо заметны скорости RAMDISC по сравнению с HDD/ HDD Быстрее RAMDisc )) 1844 ms 2813 ms как такое возможно не понятно ))
спасибо, повеселили на выходных ! вы измеряли скорость открытия/закрытия файла (работу ОС) , а не чтения/записи. Ещё и через ненужную OO прослойку
поработайте например с базой SQLite на RamDisc и HDD...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Как вы думаете что будет быстрее по скорости Memory Maped Files или локальная функция FileWrite с условием что файл будет размещен на RAMDisk ?