Jump to content
Sign in to follow this  
DVargo

Вопросы производительности

Recommended Posts

DVargo
4 часа назад, DIMtrade сказал:

Конеш специально, 32 битный говно МТ4 умрет на тиках. Из множество платформ, которые реально реал тайм не подыхают на тиках и которые доступны людям я знаю только одну, но я не думаю, что за нее тут каждый заплатит в районе 100к рублей + мощный комп за такие же деньги, да и коннектора к Альпари у нее кончено же нет и не может быть.

А у нас МТ4 32 битный?

  • metaeditor64.exe /compile:"<полный путь к исходному файлу>"

Давайте посчитаем

Тики от Альпари по паре за год менее 1Gb

260 дней в году - 4Mb/день

Скорость обработки данных в один поток - более 2Gb/час. Значительно более. у меня счетчик до 2,ххх*10^9

Т.е одновремено обсчитывать можно более 200-500 пар.

Если не использовать интерфейс, то и МТ4 справится и excel справится, и даже *******.vbs

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

 

А да забыл - у меня 4 ядра.

все  х 4 - система

Edited by DVargo
  • Thanks 1

Share this post


Link to post
Share on other sites
DIMtrade
11 часов назад, DVargo сказал:

А у нас МТ4 32 битный?

  • metaeditor64.exe /compile:"<полный путь к исходному файлу>"

....


А что, он уже превратился в 64 битный, дайте офф ссылку, скачаю с удовольствием 64 битную версию. То, что вы запускаете 64 метаредактор от МТ5 к МТ4 отношения не имеет.


Платформа для построения ТС и исследования рынка. Бьёт белке в глаз.
Мониторинг Myfxbook.comОсновная ПАММ ветка

Не использую мартингейл, усреднения, сетки, локи и пересиживание

Share this post


Link to post
Share on other sites
DVargo
1 час назад, DIMtrade сказал:


А что, он уже превратился в 64 битный, дайте офф ссылку, скачаю с удовольствием 64 битную версию. То, что вы запускаете 64 метаредактор от МТ5 к МТ4 отношения не имеет.

Вот точно не знаю 64 битный он или нет. Считал, что да. Редактор точно 64 битный, во всяком случае возможности использует.

Редактор мт4 совместим с мт5, использует одни и те же типы данных (основные).

Разницы в скорости обработки int, long и double я не вижу. Работают с большими файлами.

 

Какие там еще преимущества у 64 разрядности.

Расскажите нам о преимуществах платформы за 100К, что там есть чего нет здесь, как это влияет на скорость.

 

Edited by DVargo

Share this post


Link to post
Share on other sites
DIMtrade
1 час назад, DVargo сказал:

Вот точно не знаю 64 битный он или нет. Считал, что да. Редактор точно 64 битный, во всяком случае возможности использует.

Редактор мт4 совместим с мт5, использует одни и те же типы данных (основные).

Разницы в скорости обработки int, long и double я не вижу. Работают с большими файлами.

 

Какие там еще преимущества у 64 разрядности.

Расскажите нам о преимуществах платформы за 100К, что там есть чего нет здесь, как это влияет на скорость.

 

Ну тогда придется вас огорчить, он ТОЧНО не 64х

Если интересна та платформа, могу скинуть в личку название, там есть все, абсолютно все и работа с тиковыми графиками и работает быстро

  • Thanks 1

Платформа для построения ТС и исследования рынка. Бьёт белке в глаз.
Мониторинг Myfxbook.comОсновная ПАММ ветка

Не использую мартингейл, усреднения, сетки, локи и пересиживание

Share this post


Link to post
Share on other sites
DVargo
23.10.2018 в 20:02, DIMtrade сказал:

Если интересна та платформа, могу скинуть в личку название, там есть все, абсолютно все и работа с тиковыми графиками и работает быстро

Если можно, скинте пожалуста,

постараюсь ознакомится.

 

Я на сколько понимаю основная проблема 32-64  - это работа с графикой и сложными расчетами.

На простых расчетах с int, long и double это отражается мало, а также мало отражается на скорости записи на диск.

Share this post


Link to post
Share on other sites
AntFX
1 час назад, DVargo сказал:

На простых расчетах с int, long и double это отражается мало, а также мало отражается на скорости записи на диск.

int это 32-битовый тип данных, а long/double это уже 64-битовый тип, поэтому как раз на расчетах в double битность операций должна значительно влиять имхо.

 

П.С. Хотя по факту если смотреть по скорости выполнения простых циклов, то в МТ5 почему-то в 10 раз быстрее выполняются циклы с любыми типами управляющих переменных...

Edited by AntFX

Статистика спредов | ПАММ-корректировщик | Section Divine

אף אדם לא לבד - כולנו איש אחד בלב אחד

Share this post


Link to post
Share on other sites
Player 2
3 hours ago, DVargo said:

Я на сколько понимаю основная проблема 32-64  - это работа с графикой и сложными расчетами.

 

Отличие x64 от x86 состоит в способности адресовать больше памяти. У x86 предел это 2ГБ. Тики бывает занимают много места (хотя зависит от временного интервала и частоты тиков на инструменте), поэтому могут не помещаться в 2ГБ, от этого приложение начинает обращаться к диску и всё тормозит, а в экстремальных случаях вообще не работает. Тогда x64 (+много оперативки) это решение, чтобы не обращаться к диску (который медленный). Графическое отображение будет всё равно медленное (на больших интервалах), если не использовать специальные алгоритмы.

Сам же x64 в плане выполнения вычислительных операций работает медленнее чем x86. Поэтому с графикой никакой скорости не даст, а даже наоборот.

 

С тиками вполне можно работать. Я писал систему для фьюча РТС и она работала с тиками на QUIK, и проблем никаких не припоминаю со всем этим. Причем работало это всё на x86.

Тиковый график имеет смысл использовать для HFT. И для его визуального анализа обычно достаточно небольшого фрагмента чтобы увидеть нужные особенности поведения цены, не обязательно держать в памяти тики сразу на несколько лет. Можно разбить всю историю на такие небольшие куски, просмотреть и прогнать стратегию по ним отдельно. И никакого особенного софта и железа не надо на это всё. Я помню в 2004 году тики РАО ЕЭС анализировал таким образом еще на старом Duron 1100MHz со 128МБ оперативки. Софт и железо повысят удобство, но не дадут никаких революционных возможностей.

  • Upvote 1

Share this post


Link to post
Share on other sites
DIMtrade

Я разрабатывал и тиковый тестер и несколько версий опционных тиковых тестеров для себя на c#, x64 жрет больше памяти при прочих равных, работает медленее на ~10%, чем x86. Единственный удобный и быстрый способ работы с тиками - это загонять их все в оперативку и гонять их уже там, в максимальное возможное число потоков. Вот тут x64 просто необходимость. Причем, это решение не подойдет для ритейла, чтоб тот же фьючь РТС погонять на всей истории нужно комп с 64ГБ оперативки. А если хочется делать это быстро то i7 с 6 ядрами и 12 потоками, не каждый обладает таким компом. Вообще, некоторые CUDA к тикам прикручивали, особенно для анализа опционов, но я уже остыл желанием в чем то разбираться к тому времени.


Платформа для построения ТС и исследования рынка. Бьёт белке в глаз.
Мониторинг Myfxbook.comОсновная ПАММ ветка

Не использую мартингейл, усреднения, сетки, локи и пересиживание

Share this post


Link to post
Share on other sites
DIMtrade
9 часов назад, AntFX сказал:

int это 32-битовый тип данных, а long/double это уже 64-битовый тип, поэтому как раз на расчетах в double битность операций должна значительно влиять имхо.

...

На сколько мне известно, пофиг что Int 32 битный, в x64 он будет жрать памяти как double. Из-за этой фигни и падает производительность x64 и жрет он больше памяти.

Edited by DIMtrade

Платформа для построения ТС и исследования рынка. Бьёт белке в глаз.
Мониторинг Myfxbook.comОсновная ПАММ ветка

Не использую мартингейл, усреднения, сетки, локи и пересиживание

Share this post


Link to post
Share on other sites
Player 2
17 minutes ago, DIMtrade said:

На сколько мне известно, пофиг что Int 32 битный, в x64 он будет жрать памяти как double. Из-за этой фигни и падает производительность x64 и жрет он больше памяти.

 

Int32 остается 4-байтным и в x64. Увеличиваются только указатели, они становятся 64 бита вместо 32. В C# это тип IntPtr и все ссылочные типы как следствие (String, указатели на экземпляры классов). Можно проверить его размер выполнив код sizeof(IntPtr), скомпилировав приложение под x64 и x86 и увидеть разницу.

Памяти жрет больше как раз из-за того что адреса становятся в 2 раза длиннее. А работает медленнее в основном из-за того что увеличивается размер кода, отчего увеличивается частота промахов кэша, т.к. код начинает в еще меньшей степени помещаться в кэш. И еще увеличение размера данных повышает нагрузку на шину памяти.

  • Upvote 1

Share this post


Link to post
Share on other sites
DIMtrade
10 минут назад, Player 2 сказал:

 

Int32 остается 4-байтным и в x64. Увеличиваются только указатели, они становятся 64 бита вместо 32. В C# это тип IntPtr и все ссылочные типы как следствие (String, указатели на экземпляры классов). Можно проверить его размер выполнив код sizeof(IntPtr), скомпилировав приложение под x64 и x86 и увидеть разницу.

Памяти жрет больше как раз из-за того что адреса становятся в 2 раза длиннее. А работает медленнее в основном из-за того что увеличивается размер кода, отчего увеличивается частота промахов кэша, т.к. код начинает в еще меньшей степени помещаться в кэш. И еще увеличение размера данных повышает нагрузку на шину памяти.

А операции с double, теоретически, выполняются быстрее на x64?


Платформа для построения ТС и исследования рынка. Бьёт белке в глаз.
Мониторинг Myfxbook.comОсновная ПАММ ветка

Не использую мартингейл, усреднения, сетки, локи и пересиживание

Share this post


Link to post
Share on other sites
RazorFish
1 минуту назад, DIMtrade сказал:

А операции с double, теоретически, выполняются быстрее на x64?

 

При обработке на FPU такие вычисления вообще-то должны зависеть только от тактовой частоты. Так в устройстве с плавающей запятой любые числа представлены в 80-битном формате. Это еще с тех времен, как оно появилось на i486DX.


I invite investors and partners into my PAMM! To acquisition partners, the payment for an invitation is from 1% up to 55% for an unlimited term. 

Приглашаю инвесторов и партнеров в мой ПАММ! Партнерам по привлечению выплаты от 1% до 55% на неограниченный срок.

Share this post


Link to post
Share on other sites
Player 2
35 minutes ago, DIMtrade said:

А операции с double, теоретически, выполняются быстрее на x64?

 

Не знаю как в теории, но на практике операции с double на x64 в C# работают несколько быстрее (на 20-40%) в распараллеливаемых сценариях, и практически с той же скоростью в нераспараллеливаемых.

Быстрее работает и Int32. Особенно быстрый Int64 - там рост скорости в 3 раза бывает, по крайней мере у меня в тесте так получилось сейчас.

Еще это всё будет зависеть от конкретного процессора.

Edited by Player 2
  • Upvote 1

Share this post


Link to post
Share on other sites
DVargo

Предлагаю вынести в отдельную ветку.

 

Значит будем тестировать.

Займусь со следующей недели

Есть оси 7 ки и 8ки 32/64

Есть железо под 32/64

Есть мт4 и МТ5,

попробую прогнать код для разных расчетов

 

Share this post


Link to post
Share on other sites
DVargo

Процессор Intel Core i7-7700K
[OEM, LGA 1151, 4x4200 МГц, L2 - 1 МБ, L3 - 8 МБ, 2xDDR4-2400 МГц, DDR3L-1600МГц, Intel HD Graphics 630, TDP 91 Вт]

29 499 руб


Материнская плата ASUS PRIME B250-PRO
[LGA 1151, Intel B250, 4xDDR4-2400 МГц, 2xPCI-Ex16, аудио 7.1, Standard-ATX]

6 199 руб


Процессор Intel Core i3-8350K OEM
[LGA 1151-v2, 4x4000 МГц, L2 - 1 МБ, L3 - 8 МБ, 2хDDR4-2400 МГц, Intel UHD Graphics 630, TDP 91 Вт]
1154272
 15  115
14 999 руб

 

Я бы не сказал что большие цены.

Да и выигрыш в производительности то же сомнителен

 

Как понизилось энергопотребление.

Share this post


Link to post
Share on other sites
DVargo

Процессор Intel Core i5-8600 BOX
[LGA 1151-v2, 6x3100 МГц, L2 - 1.5 МБ, L3 - 9 Мб, 2хDDR4-2666 М Гц, Intel UHD Graphics 630, TDP 65 Вт, кулер]

23 499

Процессор Intel Core i7-5930K BOX
[LGA 2011-3, 6x3500 МГц, L2 - 1.5 МБ, L3 - 15 МБ, 4хDDR4-2133 МГц, TDP 140 Вт]

28 799

 

Как бы выбор есть и цена/МГц примерно одинакова

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×