Проблем не замечено.
А вообще так как ВСЕ системы поддерживают старые 32-х битные проги (даже без эмуляции вроде бы), так что не волнуйтесь.
Поэтому хочется услышать твёрдое мнение разработчиков по поводу вышеуказанных в начале топика двух вопросов.
Ксати, можно запустить процес поиска оптимальных параметров (оптимизацию) в количестве потоков соответствующих количеству ядер. Вот у меня например двуядерный проц и пожно увеличить скорость оптимизации в два раза если распаралелить вычисления запусив в дух потоках одновремено.
У меня обычный Athlon 64 3200+, не могу сейчас проверить дома двухядерность.
А что, MT4 терминал спрограммирован так, что умеет работать на
нескольких процессорах одновременно? Не каждая программа так
может, например, архиватор WinRAR только с версии 3.60 умеет занимать
несколько процессоров.
Ну не думаю что в МТ делают задачу оптимизации более одного потока, хотя это возможно. Друг именно так и сделал в своей программе оптимизации. Думаю что и MQ сможет если захочет - ускорение получается в разы пропорционально количеству ядер.
Бред. А памяти у Вас тоже две? А диска? Ускорение в 2 раза - утопия. Хорошо, если получится в полтора.
>> в разы пропорционально количеству ядер.
Бред. А памяти у Вас тоже две? А диска? Ускорение в 2 раза - утопия. Хорошо, если получится в полтора.
Ну а что память при генетическом алгоритме там зарожаются популяции и два поиска решения могут выполнятся параллельно как две задачи.
В процессоре СoreDuo например один общий большой кэш воторого уровня и два ядра однако это не мешает ускорять задачи почти в два раза если есть два потока. Может быть это и было бредом если бы у друга программа оптимизации, которая использует генетический алгоритм и так же нейронные сети не работала в два раза быстрее при добавлении ещё одного потока который паралельно ведёт прогон по данным с основным. К тому же можно сделать и копию данных для каждного потока тогда будет ещё быстрее. Токльо тогда при оптимизации МТ вообще всю память сожрёт и свопфайла не хватит на диске :)
Процесс суть есть запуск самостоятельного исполняемого файла с помощью функции ::CreateProcess() Win32 API с отдельным адресным пространством.
Например, можно запустить калькулятор Windows.
if (::CreateProcess( NULL, // pointer to name of executable module "calc.exe", // pointer to command line string NULL, // pointer to process security attributes NULL, // pointer to thread security attributes FALSE, // handle inheritance flag 0,//CREATE_NEW_CONSOLE, // creation flags NULL, // pointer to new environment block NULL, // pointer to current directory name &StartInfo, // pointer to STARTUPINFO &ProcessInfo // pointer to PROCESS_INFORMATION )) { // Wait for finish of child process if (ProcessInfo.hProcess) ::WaitForSingleObject(ProcessInfo.hProcess, INFINITE); DWORD exitCode = 0; ::GetExitCodeProcess(ProcessInfo.hProcess, &exitCode); ::CloseHandle(ProcessInfo.hThread); ::CloseHandle(ProcessInfo.hProcess); }А внутри одного процесса можно запускать несколько потоков с помощью API функции ::CreateThread(), разруливая одновременный доступ к данным с помощью, например, критических секций Win32 API (::EnterCriticalSection, ::LeaveCriticalSection), если мы говорим о стандартном VC++. В .NET языках ещё проще.
Так вот, речь идёт не о потоках, их можно и на обычной однопроцессорной машине создавать достаточно много. Речь идёт о нескольких процессах, а изначально я ставил вопрос вообще не о многоядерности, а о 64-хбитной адресации и работе терминала под x64 версиями Windows (XP, Server 2003 и Vista) - проверялось ли это, будет ли терминал работать.
>>Может быть это и было бредом если бы у друга программа оптимизации, которая использует генетический алгоритм и так же нейронные сети не работала в два раза >>быстрее при добавлении ещё одного потока который паралельно ведёт прогон по данным с основным. К тому же можно сделать и копию данных для каждного потока >>тогда будет ещё быстрее.
Это взгляд на жизнь через розовые очки. "Почти в 2 раза" это и есть мои предположенные 1.5. Коли интересно - можете проверить :) Просто обычное решение СЛУ распараллелить - задача далеко нетривиальная, так чтобы близко к 2-м было ускорение. А тут - совсем без оптимизации работы MT с памятью - думаю чуда не будет.
ОС работает с потоками. Именно им планировщик выделяет время, именно им ставят приоритет. Процесс - это просто еще и общее виртуальное пространство памяти, все равно именно на каждый поток вроде бы делается дескриптор в соответствующей таблице защищенного режима (могу ошибаться)
Можно взять и проверить.
>>Может быть это и было бредом если бы у друга программа оптимизации, которая использует генетический алгоритм и так же нейронные сети не работала в два раза >>быстрее при добавлении ещё одного потока который паралельно ведёт прогон по данным с основным. К тому же можно сделать и копию данных для каждного потока >>тогда будет ещё быстрее.
Это взгляд на жизнь через розовые очки. "Почти в 2 раза" это и есть мои предположенные 1.5. Коли интересно - можете проверить :) Просто обычное решение СЛУ распараллелить - задача далеко нетривиальная, так чтобы близко к 2-м было ускорение. А тут - совсем без оптимизации работы MT с памятью - думаю чуда не будет.
ОС работает с потоками. Именно им планировщик выделяет время, именно им ставят приоритет. Процесс - это просто еще и общее виртуальное пространство памяти, все равно именно на каждый поток вроде бы делается дескриптор в соответствующей таблице защищенного режима (могу ошибаться)
Ну я видел как рабоатет программа оптимизации с генетическим алгоритмом при одном потоке и двух память с котировками для каждого потока своя так что они не борятся за память и ускорение было в два раза, но больше чем полтора. Если хотите напишите свою программу оптимизации и проверте. Одно дело предполагать а другое дело видеть на практике пример реализации.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
1. Тестировался ли MT4 терминал на 64-хразрядных версиях Windows: WinXP 64 bit, Windows 2003 Server, Windows Vista x64? Если приобрести как upgrade Windows Vista x64, не будет ли потери работы терминала и тестера/оптимизатора?
2. Проводилось ли сравнение производительности на 64-хразрядных процессорах, например, Intel Core 2 Duo или Athlon 64, в плане x32/x64 версий ОС, т.е., проще говоря, на чём быстрее работает терминал: WinXP 32 bit или WinXP 64 bit при x64 процессоре?
Заранее спасибо за развёрнутый ответ.