Den2S 131 Share Posted February 4, 2014 Какой процессор даёт максимальную производительность тестера в MT4? И что больше влияет на производительность - частота ядра количество ядер, величина кэш-памяти, частота системной шины, объем оперативной памяти системы? Тот инвестор, который не фиксирует каждые 5% прибыли со своего счета, в результате потеряет всё. (Касается любого инвестирования в памм-индустрии). Den2S (©) Link to post Share on other sites
Den2S 131 Author Share Posted February 4, 2014 Таблички с вариантами разновидностей процессоров интел и амд. http://www.thg.ru/cpu/20051118/images/cpu_amd_big.gif http://www.thg.ru/cpu/20051118/images/cpu_intel_big.gif Тот инвестор, который не фиксирует каждые 5% прибыли со своего счета, в результате потеряет всё. (Касается любого инвестирования в памм-индустрии). Den2S (©) Link to post Share on other sites
ReAcT 149 Share Posted February 5, 2014 Какой процессор даёт максимальную производительность тестера в MT4? И что больше влияет на производительность - частота ядра количество ядер, величина кэш-памяти, частота системной шины, объем оперативной памяти системы? На работу тестера, считаю, влияет количество операций в секунду. А именно - процессор. Также у Nvidia есть технология Cuda - берет на себя вычисления, если процессор работает на максимуме, а видеокарта мало задействована. Но необходимости, пожалуй, в этом нет, так как тестер слабо грузит процессор. Например проц i 5 -3570 k работает на 32% мощности, с запущенным тестером . По производителям процессоров - Intel превосходит AMD на 20-30%. Информация полугодовой давности. Среди Intel советую линейку Ivy Bridge. Haswell немного мощнее, но это достигается за счет сильного выделения тепла, и вероятно, его меньшей долговечности. Количество ядер роли не играет, насколько мне известно. Так как большинство программ написано под 1-2 ядра. Некоторые новые игры могут грузить 4. Влияет частота ядра , возможно, температура процессора. Шина, это вроде трубопровода - если слишком узкая, то не будет пропускать избыточную мощность. Но когда шина сбалансированна с системой - по моему, никак не влияет. Link to post Share on other sites
AntFX 6,474 Share Posted February 5, 2014 МТ5 умеет задействовать все ядра процессора, МТ4 пока не умеет. Но, возможно, скоро научится, так как возможности МТ5 потихоньку перекочевывают в МТ4 1 Link to post Share on other sites
DVargo 210 Share Posted February 5, 2014 штатным тестером в последнее время не пользовался, но по аналогии со скриптами на 3570 4 ядра, значит один тестер жрет 1 ядро, т.е. 25% от системы, остальное сама винда и другое ПО. Если запустить 4 терминала и в каждом тестер то можно задействовать все 100% от и5 т.е будет 4 по 3 с чем там ГГц. а если взять 2 компа, то будет 2 раза по 4 на 3ГГц. можно взять 3, 4 компа... Вопрос в том, могет ли товарищ распараллеривать. Так же один из главных вопросов - оптимизация кода. Если код не оптимальный то продолжительность тестов может возрасти до бесконечности и никакая максимальная производительность не поможет. Вопрос в том, что тестят и как. я как то с трудом представляю для чего могут понадобиться мощные процессоры. А не пойти ли бы вам Link to post Share on other sites
Den2S 131 Author Share Posted February 5, 2014 я на сколько заметил - основная нагрузка падает не на вычисления а на вывод информации в журнал об открытых, закрытых и модифицированных ордерах. Именно эта операция и тормозит сильно тестер. Проверяется очень просто - добавляете в код гденить один вывод в журнал и засекаете изменение времени полного прогона теста с и без этого вывода. Результаты очень удручают... Тот инвестор, который не фиксирует каждые 5% прибыли со своего счета, в результате потеряет всё. (Касается любого инвестирования в памм-индустрии). Den2S (©) Link to post Share on other sites
Den2S 131 Author Share Posted February 7, 2014 А что скажете о восьмиядерном процессоре АМД с 8Мб кэшем и часототой ядра 4,7ГГц? http://www.nix.ru/autocatalog/amd/CPU_AMD_FX9590_BOX_Black_Edition_FD9590F_4.7_8core_220_5200_Socket_AM3_171340.html http://www.nix.ru/price/price_list.html?section=cpu_amd Тот инвестор, который не фиксирует каждые 5% прибыли со своего счета, в результате потеряет всё. (Касается любого инвестирования в памм-индустрии). Den2S (©) Link to post Share on other sites
Den2S 131 Author Share Posted February 7, 2014 Так я не понял. Если процессор 6-ти ядерный, то запустив 6-ть разных никак не связанных друг с другом программ, типа Ворд, Экзель, МТ4, Эксплорер, Скайп и Опера с видео от Ютуба, то каждая программа будет обрабатываться своим ядром? Или нет? У меня например сейчас 2 ядра, а при загрузке данных тестером в память перед прогоном советника фаерфокс вообще мертвецки не работает. Где же преимущество 2-х ядер? Системный монитор при этом показывает что они оба используются , причем в разных по интенсивности загрузки режимах. Тот инвестор, который не фиксирует каждые 5% прибыли со своего счета, в результате потеряет всё. (Касается любого инвестирования в памм-индустрии). Den2S (©) Link to post Share on other sites
Den2S 131 Author Share Posted February 7, 2014 Сейчас гонял советника не тестере. С открытым монитором загрузки процессора. В общем видно что тестер грузит сразу оба ядра, но максимальная загрузка каждого не превышает 45%. Причем одно ядро все время загружено в 1,5-2,0раза меньше второго. Как только тестер прогнал советника до конца периода, сразу же загрузка упала на обоих ядрах до 5-9%. Т.е. нельзя сказать что многоядерность на МТ4 не работает. В как раз оно получается что очень работает. Но проблема в том что сами ядра не грузятся на полную катушку. Тот инвестор, который не фиксирует каждые 5% прибыли со своего счета, в результате потеряет всё. (Касается любого инвестирования в памм-индустрии). Den2S (©) Link to post Share on other sites
DVargo 210 Share Posted February 7, 2014 Ты еще в процессах глянь что именно систему грузит. По идее система рассовывает программы на наименее загруженное ядро последовательно. Есть ограничения по количеству одновременных потоков, т.е компьютер нельзя грузить бесконечным количеством программ, но это лучше у спецов форуме метаквотов узнать, если есть потребность в максимуме производительности. Возможно МТ и Тестер идут в разных потоках. мозила тормозит скорее из-за оперативки, она одна из самых требовательных программ. При тестах лишние, не используемые в тестах программы рекомендуется отключать. Так же есть зависимость от типа вычислений - сложение, умножение, возведение степень, расчет матриц. Раньше вроде бы писали, что инициализация массивов требует увеличенного времени. Поэтому лучше консультироваться со специалистами по конкретному коду. Не совсем понятно что же вам надо - максимум производительности в тестах или универсальная мощная машина. Я экспериментировал со скриптами. была необходимость сравнить скорость планшетников, ноутбуков со стационарником. Из одного МТ скрипты выполнялись каждый в отдельном потоке. Поток располагался на наименее загруженном ядре. При этом измерял время выполнения программы. Поток выполняется до конца на том ядре, на котором запустился. 3 скрипта -грузили 3 ядра из 4х. 4 - 4 ядра. 6 - располагались 2 по 2 и 2 по 1. При этом время выполнения скрипта зависело от выделяемой ему мощности процессора линейно. Если ядро не используется на 100%, значит что-то жрет или оперативку или грузит винт. А не пойти ли бы вам Link to post Share on other sites
Den2S 131 Author Share Posted February 7, 2014 (edited) Гигантский тест производительности всех процессоров.... http://vywert.livejournal.com/5751.html интересно - какие тесты наиболее близки к работе МТ4? Я думаю что тест на WinRar - упаковку архивов наиболее близок к работе MT4. Edited February 7, 2014 by Den2S Тот инвестор, который не фиксирует каждые 5% прибыли со своего счета, в результате потеряет всё. (Касается любого инвестирования в памм-индустрии). Den2S (©) Link to post Share on other sites
STre 7 Share Posted June 29, 2014 Могу сказать от себя. Имеется проц i5 второго поколения, 4 ядра + 8 GB RAM + система на RAID1 массиве. Делаю много прогонов тестирования на разных валютах каждую неделю. Каждый прогон занимает 2-5 часов. Полный цикл тестирования занимает 2-3 дня. * Память: При тестировании за 4 года на тиках больше 1 GB памяти на процесс не используется. То есть 8 гигов - с запасом. * Винт: при запуске тестера каждый инстанс МТ4 жестоко мучает винт, потом нагрузка минимальна * Проц: каждый инстанс МТ4 грузит 1 ядро под завязку. Т.е. при запуске 4 тестеров в параллель больше на системе ничего делать нельзя. Ну. если только интернет-радио слушать. Сейчас сам для себя решаю как увеличить производительность на железном уровне. Варианты: * i7 последнего поколения - 4 или 6 ядер и значительно большая производительность на ядро. Выглядит самым разумным вариантом с точки зрения бюджет / производительность. *AMD FX 8xxx/9xxx серии - 6-8 ядер, ниже производительность на каждое отдельное ядро чем в i7. За счет количества ядер можно запустить уменьшить время общего тестирования до ~2 дней. Стоимость - пока не понимаю * Xeon e5 - 8-12 ядер на проц, до 2 процов на комп. Ниже производительность на каждое отдельное ядро чем в i7. За счет количества ядер можно запустить практически все тесты одновременно (добавить памяти до 32 GB). Оцениваю все тестирование в 1 день макс. Стоимость - космическая * Аренда XL сервера на Амазоне -32 ядра Xeon, выкладки по производительности см выше. Все тестирование - максимум 1 день. При стоимость около 20 баксов за 2 дня работы / около 1000 в год выглядит как хорошая альтернатива системе на Xeon Надеюсь, кому-то еще это поможет. Link to post Share on other sites
Ugar68 372 Share Posted July 4, 2014 Зеркало RAID1 не добавляет производительности. Может сцепить в RAID0 или RAID10? Если конечно массив аппаратный и не на древней шине PCI. Хотя бы создание fxt файла будет быстрее. Не у всех систем можно разбить оптимизацию на части, значит стоит думать больше о частоте ядра чем о их количестве. А вообще, о времени тестирования стоит думать во время написания программы. Правильно написанный код может работать в несколько раз бустрее кривого, а замена процессора может сделать тест быстрее всего на несколько %. Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку. Чужие программы не переделываю. Link to post Share on other sites
AntFX 6,474 Share Posted July 4, 2014 А вообще, о времени тестирования стоит думать во время написания программы. Правильно написанный код может работать в несколько раз бустрее кривого, а замена процессора может сделать тест быстрее всего на несколько %. 1 Link to post Share on other sites
STre 7 Share Posted July 5, 2014 Зеркало RAID1 не добавляет производительности. Может сцепить в RAID0 или RAID10? Разумеется. Я описал только текущую систему. Через неделю придет новый SSD, а текущие диски станут RAID0. А вообще, о времени тестирования стоит думать во время написания программы. Правильно написанный код может работать в несколько раз бустрее кривого, Позвольте с вами абсолютно и безусловно согласиться. Тем не менее, поскольку я специализируюсь на высокопроизводительном SW, есть надежда, что и советника я написал не самого тормозного. Поэтому и смотрю теперь на HW-оптимизацию. а замена процессора может сделать тест быстрее всего на несколько %. А вот здесь не уверен. Если текущая загрузка CPU=100%, то добавление процессора должно добавить производительности пропорционально. А добавление ядер позволит запускать еще дополнительные процессы параллельно. Link to post Share on other sites
Ugar68 372 Share Posted July 6, 2014 (edited) А вот здесь не уверен. Если текущая загрузка CPU=100%, то добавление процессора должно добавить производительности пропорционально. А добавление ядер позволит запускать еще дополнительные процессы параллельно. Если запущен 1 тестер на 1 ядерном камне, он может загрузить его на 100%. Но если добавить ещё один камень или ядра, производительность выростит на несколько % потому что с ядра или камня будут сняты сторонние задачи, например винда, антивирус... Производительность тестера не выростит пропорционально количеству камней, просто потому что тестер не умеет использовать много камней или ядер. Увеличить производительность можно только разбив оптимизацию на части и запустив несколько тестеров одновременно, пропорционально количеству камней или ядер. ИМХО много камней, как имного ядер, не увеличит скорость выполнения одной задачи, а увеличение частоты ядра, шины и оперативки может. Но, увеличение производительности за счёт железа, не пропорционально увеличит стоимость банки. Edited July 6, 2014 by Ugar68 Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку. Чужие программы не переделываю. Link to post Share on other sites
AntFX 6,474 Share Posted July 6, 2014 Для достижения приемлемой скорости тестинга лучше всего стараться делать такие системы, которые могут включаться не чаще, чем раз в минуту. Тогда можно тестировать и оптимизировать системы по ценам открытия минуток, что может в сотни раз ускорить процесс. Кроме этого, здесь описано как значительно ускорить процесс даже на всех тиках. 3 часа на 1 прогон теста, на мой взгляд, это дикость. Я бы никогда такие системы (для себя) делать и тестить не стал... Мазохизм какой-то. 1 Link to post Share on other sites
Ugar68 372 Share Posted July 6, 2014 (edited) Имеется проц i5 второго поколения, 4 ядра + 8 GB RAM + система на RAID1 массиве. Делаю много прогонов тестирования на разных валютах каждую неделю. Каждый прогон занимает 2-5 часов. Что под прогоном подразумевается, тестирования или вся оптимизация? Если это прогон теста занимает часы, стоит серьёзно задуматься о переписывании кода. У меня на нотэбеке один из самых первых ноутбучныйх 2 ядерных камней core 2 duo T5500. 1.66GHz, 3Gb RAM, винт конечно же ноутбучный 5400 об. Win XP Home В советнике объедены 2 системы. Тест на всех тиках за 5 лет идёт 12 минут. Из них, почти 2 минуты содавался fxt файл. То есть, сам прогон около 10 минут. А ведь этот камень на много лет старше i5. Обычно я гоняю на стационарном компе, там камень быстрее Core 2 Quad Q6600 2.4GHz хоть и то же древний. Но мне не приходит в голову покупать новый комп для уменьшения времени оптимизации. Edited July 6, 2014 by Ugar68 Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку. Чужие программы не переделываю. Link to post Share on other sites
STre 7 Share Posted July 6, 2014 (edited) Похоже, тема ожила Если запущен 1 тестер на 1 ядерном камне, он может загрузить его на 100%. Но если добавить ещё один камень или ядра, производительность выростит на несколько % потому что с ядра или камня будут сняты сторонние задачи, например винда, антивирус... Производительность тестера не выростит пропорционально количеству камней, просто потому что тестер не умеет использовать много камней или ядер. Вы невнимательно прочитали выше как я занимаю все имеющиеся ядра на 100%. 3 часа на 1 прогон теста, на мой взгляд, это дикость. Я бы никогда такие системы (для себя) делать и тестить не стал... Мазохизм какой-то. 3 часа на прогон оптимизации на тиковом графике по 10-15 параметрам на периоде около 2 лет. Мне это не кажется слишком большим временем. Edited July 6, 2014 by STre Link to post Share on other sites
AntFX 6,474 Share Posted July 6, 2014 3 часа на прогон оптимизации на тиковом графике по 10-15 параметрам на периоде около 2 лет. Мне это не кажется слишком большим временем. На тиковом графике? Это модель "все тики" или импортированная тиковая история? В любом случае если речь об оптимизации, то уже не так страшно )) Только обычно называют кол-во проходов, а не параметров 1 Link to post Share on other sites
STre 7 Share Posted July 6, 2014 На тиковом графике? Это модель "все тики" или импортированная тиковая история? В любом случае если речь об оптимизации, то уже не так страшно )) Только обычно называют кол-во проходов, а не параметров "Every tick". История стандартная с сервера через History Center. Link to post Share on other sites
AntFX 6,474 Share Posted July 6, 2014 "Every tick". История стандартная с сервера через History Center. Так это типа ещё и "генетический алгоритм"? Там точное кол-во проходов понять сложно, да... Метод довольно неточный, кстати. Может быть выгоднее с т.з. точности ограничить значения параметров более крупным шагом для достижения того же числа проходов. А потом сделать ещё проходы в более узких диапазонах с более мелким шагом по результатам первой оптимизации. 1 Link to post Share on other sites
STre 7 Share Posted July 6, 2014 Так это типа ещё и "генетический алгоритм"? Там точное кол-во проходов понять сложно, да... Метод довольно неточный, кстати. Может быть выгоднее с т.з. точности ограничить значения параметров более крупным шагом для достижения того же числа проходов. А потом сделать ещё проходы в более узких диапазонах с более мелким шагом по результатам первой оптимизации. Конечно, так и делаю. То что на картинке - проход в "узком" диапазоне после первого приближения. Можно, конечно, делать несколько проходов оптимизации, но мне удобнее с точки зрения времени запустить обработку на чуть дольше и не метаться самому. Но мы отошли от нашей "железной" темы немного. Link to post Share on other sites
AntFX 6,474 Share Posted July 6, 2014 То что на картинке - проход в "узком" диапазоне после первого приближения. На картинке именно проход с ГА. Там написано число проходов 10000 и в скобках (2000000). Такая надпись числа проходов бывает только при ГА. Я же имел в виду, что метод ГА как таковой слишком не точный и поэтому польза от его применения сомнительна. Но мы отошли от нашей "железной" темы немного. На мой взгляд, тема яйца выеденного не стоит. Как уже несколько раз заметили МТ4 не умеет использовать несколько ядер при оптимизации. Нужно покупать любой современный компьютер. И сосредоточиться на методах оптимизации скорости выполнения и тестирования советника и методолоии самой оптимизации, чтобы за меньшее число проходов достигать цели. Чем больше проходов, тем выше вероятность подгонки, кстати. Особенно, когда там 10-15 оптимизируемых параметров. Вы в курсе этой проблемы? Как с ней боретесь? 1 Link to post Share on other sites
laveosa 0 Share Posted July 8, 2014 Всем доброго времени суток. Подскажите пожалуйста как можно ускорить компиляцию и при покупки нового компьютера на что надо обращать внимание чтоб она ускорилась, спасибо. Link to post Share on other sites
Recommended Posts