Не знаю, как в MQL4, но, когда проводил гонки на С++, то обратил внимание, что тот код, который запускаешь первым работает медленней, чем второй. Наверняка, на первичное выделение памяти уходит время. Обычно на 5% медленнее.
2012.03.23 13:40:50 test EURUSD,H1: глобальный массив: 1406 миллисекунд.
2012.03.23 13:40:50 test EURUSD,H1: локальный массив: 1344 миллисекунд.
вот теперь логично: глобальные переменные немного дольше, локальные быстрее, хотя думал, что без разницы, нужно еще в вызываемой ф-ции замерить, может быть там еще какая разница
2012.03.23 13:40:50 test EURUSD,H1: глобальный массив: 1406 миллисекунд.
2012.03.23 13:40:50 test EURUSD,H1: локальный массив: 1344 миллисекунд.
вот теперь логично: глобальные переменные немного дольше, локальные быстрее, хотя думал, что без разницы, нужно еще в вызываемой ф-ции замерить, может быть там еще какая разница
Наверно, если их поменять местами, результаты остануться на месте.
поменял, и скопировал start() в func(), после Printов запуск func() :
2012.03.23 14:11:15 test EURUSD,H1: локальный массив: 1313 миллисекунд.
2012.03.23 14:11:15 test EURUSD,H1: глобальный массив: 1359 миллисекунд.
2012.03.23 14:11:15 test EURUSD,H1: вызов ф-ции.....
2012.03.23 14:11:18 test EURUSD,H1: ф-ция, локальный массив: 1312 миллисекунд.
2012.03.23 14:11:18 test EURUSD,H1: ф-ция, глобальный массив: 1328 миллисекунд.
На правах домыслов: адрес локальной переменной отсчитывается от точки вызова функции, адрес глобальной - от точки вызова программы, т.е. по идее, чтобы обратиться к глобальной переменной нужно выполнить на одно действие больше (добавить смещение).
Zhunko:Поменял местами глобальный и локальный? Сейчас сначала локальный потом глобальный. Надо наоборот.
так и сделал, но результаты не изменились, и в отдельной ф-ции тож массив объявил, вызвал ф-ицю и сравнил с вызовом глобального массива
alsu, вполне логичное предположение, но мои эксперименты привели меня к забавной мысли: mql4 для ламеров, как удобно так и объявляй, как говорится по ходу пьесы.. ))). Может быть на mql5 проведу эксперименты если не забуду, да и как раз там производительность МТ5 обсуждается, может быть чего прояснится
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
в логе:
2012.03.23 13:40:50 test EURUSD,H1: глобальный массив: 1406 миллисекунд.
2012.03.23 13:40:50 test EURUSD,H1: локальный массив: 1344 миллисекунд.
вот теперь логично: глобальные переменные немного дольше, локальные быстрее, хотя думал, что без разницы, нужно еще в вызываемой ф-ции замерить, может быть там еще какая разница
в логе:
2012.03.23 13:40:50 test EURUSD,H1: глобальный массив: 1406 миллисекунд.
2012.03.23 13:40:50 test EURUSD,H1: локальный массив: 1344 миллисекунд.
вот теперь логично: глобальные переменные немного дольше, локальные быстрее, хотя думал, что без разницы, нужно еще в вызываемой ф-ции замерить, может быть там еще какая разница
поменял, и скопировал start() в func(), после Printов запуск func() :
2012.03.23 14:11:15 test EURUSD,H1: локальный массив: 1313 миллисекунд.
2012.03.23 14:11:15 test EURUSD,H1: глобальный массив: 1359 миллисекунд.
2012.03.23 14:11:15 test EURUSD,H1: вызов ф-ции.....
2012.03.23 14:11:18 test EURUSD,H1: ф-ция, локальный массив: 1312 миллисекунд.
2012.03.23 14:11:18 test EURUSD,H1: ф-ция, глобальный массив: 1328 миллисекунд.
поменял, и скопировал start() в func(), после Printов запуск func() :
2012.03.23 14:11:15 test EURUSD,H1: локальный массив: 1313 миллисекунд.
2012.03.23 14:11:15 test EURUSD,H1: глобальный массив: 1359 миллисекунд.
2012.03.23 14:11:15 test EURUSD,H1: вызов ф-ции.....
2012.03.23 14:11:18 test EURUSD,H1: ф-ция, локальный массив: 1312 миллисекунд.
2012.03.23 14:11:18 test EURUSD,H1: ф-ция, глобальный массив: 1328 миллисекунд.
поменял, и скопировал start() в func(), после Printов запуск func() :
2012.03.23 14:11:15 test EURUSD,H1: локальный массив: 1313 миллисекунд.
2012.03.23 14:11:15 test EURUSD,H1: глобальный массив: 1359 миллисекунд.
2012.03.23 14:11:15 test EURUSD,H1: вызов ф-ции.....
2012.03.23 14:11:18 test EURUSD,H1: ф-ция, локальный массив: 1312 миллисекунд.
2012.03.23 14:11:18 test EURUSD,H1: ф-ция, глобальный массив: 1328 миллисекунд.
так и сделал, но результаты не изменились, и в отдельной ф-ции тож массив объявил, вызвал ф-ицю и сравнил с вызовом глобального массива
alsu, вполне логичное предположение, но мои эксперименты привели меня к забавной мысли: mql4 для ламеров, как удобно так и объявляй, как говорится по ходу пьесы.. ))). Может быть на mql5 проведу эксперименты если не забуду, да и как раз там производительность МТ5 обсуждается, может быть чего прояснится
случаем никто не занимался портированием на mql FANN? http://leenissen.dk/fann/wp/download/, или аналогичный код на mql с НС
ЗЫ: поиском и гуглом чёт не найду готовую НС, .dll с FANN подключал, довольно уверенно работает, но хотелось бы без .dll
случаем никто не занимался портированием на mql FANN? http://leenissen.dk/fann/wp/download/, или аналогичный код на mql с НС
ЗЫ: поиском и гуглом чёт не найду готовую НС, .dll с FANN подключал, довольно уверенно работает, но хотелось бы без .dll
Обучать сеть лучше в специализированном софте. Быстрее значительно. А использовать лучше в коде