Jump to content
kaif

Определение тренда

Recommended Posts

DIMtrade
16 минут назад, kaif сказал:

Итого 1.2 млн итераций в секунду (это включая вычисление OHLC минутки и последующее добавление в таблицу в памяти)

Интересно, какова скорость на C# 

А в Экселе? )))))))))

C# чуть медленее c++, дельфи он уделает думаю раз в 3-10))), могу замерить


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

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

Share this post


Link to post
Share on other sites
Pirojoque Project
4 минуты назад, DIMtrade сказал:

могу замерить

Нужно тесты проводить на одном и том же железе 🙂

Share this post


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

дельфи он уделает думаю раз в 3-10)))

Думаю что процентов на 30%.

Share this post


Link to post
Share on other sites
kaif

С чего бы ему уделать? 

Разве что за счет 64-разрядности, если он это умеет использовать.

Замерьте.

Дельфи создает приложение Win32

Edited by kaif

механическая торговая система на основе индикатора AT-линий
описание торговой стратегии LTR-AUTO, хроника событий
Docendo discimus

Share this post


Link to post
Share on other sites
kaif
2 минуты назад, Pirojoque Project сказал:

Нужно тесты проводить на одном и том же железе 🙂

 

comp.png.40be00489084bf33b933a09182209068.png


механическая торговая система на основе индикатора AT-линий
описание торговой стратегии LTR-AUTO, хроника событий
Docendo discimus

Share this post


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

С чего бы ему уделать? 

Разве что за счет 64-разрядности, если он это умеет использовать.

Замерьте.

Дельфи создает приложение Win32

К тому, что мелкомягкие его отточили как и msql и постоянно точат, и я могу за 1 минуту написать код распараллеливания задачи на 8 ядер, каждому процу - по потоку, поэтому ваш дельфийский 1 поток c# как раз в 10 раз уделает на моем железе)))

64 код выполняется чуток медленнее 32, так что если и мерить, то 32.

Clip2net_190218234233.png.4e59195295eda8fc826bccb45fba8beb.png

 

Разогнан свыше 5-ка)))

Edited by DIMtrade

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

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

Share this post


Link to post
Share on other sites
Player 2
6 minutes ago, kaif said:

С чего бы ему уделать? 

Разве что за счет 64-разрядности, если он это умеет использовать.

Замерьте.

Дельфи создает приложение Win32

Хз с чего, но часто уделывает. Хотя иногда и проигрывает. Зависит от операций. Наверное компиляция в ассемблерный код эффективнее.

 

Лет 10 назад сравнивал скорость по отдельным операциям:

Spoiler

 

•    Пустой цикл без использования счетчика внутри цикла и после него – эквивалентны.
•    Операция инкремента целого (int i++) – эквивалентны.
•    Присвоение int i=5 – эквивалентны.
•    Сложение двух интов: a = a + b – эквивалентны (иногда делфи так странно компилит, что получается торможение).
•    Прибавление к double числа 1 – эквивалентны.
•    Сложение двух double на C# происходит на 11% дольше.
•    Умножение двух double (*=) на Delphi на 62% дольше чем в C#.
•    Умножение двух разных double на Delphi на 39% дольше чем в C#.
•    Умножение двух разных double в случайном порядке, в C# тормознее на 18%.
•    Умножение двух матриц из double размером 1000x1000 в C# на 12.8% медленнее.
•    Функция Math.Truncate из C# в 6.08 раз медленнее чем в Delphi (Trunc).
•    В С# округление double через (int) быстрее чем Trunc в Delphi практически в 1.62 раза.

 

 

С того времени могло многое поменяться.

Share this post


Link to post
Share on other sites
kaif

Против распараллеливания по ядрам в Delphi6 я бессилен...


механическая торговая система на основе индикатора AT-линий
описание торговой стратегии LTR-AUTO, хроника событий
Docendo discimus

Share this post


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

Против распараллеливания по ядрам в Delphi6 я бессилен...

Давайте код точный скидывайте, какой гонять, сделаю тестовую консоль в 1 потоке и с распараллеливанием.


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

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

Share this post


Link to post
Share on other sites
kaif

Можно Бокса-Мюллера попробовать...

 

function Gauss: double; //2-й вариант преобразования Бокса-Мюллера
var
  u,v,s,k: double;
begin
  while true do
  begin
    u := 2 * Random - 1;
    v := 2 * Random - 1;
    s := u * u + v* v;
    if (s = 0) or (s > 1) then
      continue;
    Result := u * Sqrt(-2*ln(s)/s);
    exit;
  end;
end;
 

Edited by kaif

механическая торговая система на основе индикатора AT-линий
описание торговой стратегии LTR-AUTO, хроника событий
Docendo discimus

Share this post


Link to post
Share on other sites
DIMtrade
Только что, kaif сказал:

Можно Бокса-Мюллера попробовать...

Ок, возьму тот ваш код, сейчас набросаю


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

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

Share this post


Link to post
Share on other sites
Pirojoque Project

Вот! Начинаются стендовые испытания, красотища какая! 💪

Share this post


Link to post
Share on other sites
Player 2
1 minute ago, kaif said:

Можно Бокса-Мюллера попробовать...

Там функция Random вызывается, она может сильно всё искажать и может оказаться так что вы сравниваете больше именно эти функции, код которых вы не знаете и понятно что он сильно отличается.

Share this post


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

Там функция Random вызывается, она может сильно всё искажать и может оказаться так что вы сравниваете больше именно эти функции, код которых вы не знаете и понятно что он сильно отличается.

Может просто обменяться программами и запустить каждую на обоих компьютерах? Тогда будет корректное сравнение скорости всей конструкции. И можно даже отдельно Random'ы сравнить для исключения их влияния на оценку исследуемых алгоритмов 🙂

Share this post


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

Там функция Random вызывается, она может сильно всё искажать и может оказаться так что вы сравниваете больше именно эти функции, код которых вы не знаете и понятно что он сильно отличается.

 

Интересно оценить выигрыш в многопоточном варианте на 8 ядер с однопоточным.

Кстати, как насчет инициализации генератора случайных числе?

Для каждого ядра нужно будет отдельно проинициализировать?

Edited by kaif

механическая торговая система на основе индикатора AT-линий
описание торговой стратегии LTR-AUTO, хроника событий
Docendo discimus

Share this post


Link to post
Share on other sites
DIMtrade
Только что, kaif сказал:

 

Интересно оценить выигрыш в многопоточном варианте на 8 ядер с однопоточным.

По опыту прирост x8, но прога сожрет весь проц, на слабых машинах если под консоль один поток не оставлять, то покажется что комп завис))))


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

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

Share this post


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

Кстати, как насчет инициализации генератора случайных числе?

Для каждого ядра нужно будет отдельно проинициализировать?

Да, каждый поток независим. Можно лишь управлять взаимодействием между ними в сложных задачах.


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

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

Share this post


Link to post
Share on other sites
Player 2
9 minutes ago, Pirojoque Project said:

Может просто обменяться программами и запустить каждую на обоих компьютерах? Тогда будет корректное сравнение скорости всей конструкции. И можно даже отдельно Random'ы сравнить для исключения их влияния на оценку исследуемых алгоритмов 🙂

Можно.

 

7 minutes ago, kaif said:

Кстати, как насчет инициализации генератора случайных числе?

Для каждого ядра нужно будет отдельно проинициализировать?

На шарпе проще сделать несколько объектов random, на каждый поток. При создании объекта производится его инициализация автоматом.

На Делфи не помню как это всё, по-моему там отдельно объект не создается.

Но вообще для сравнения скорости многопоточность не нужна. Один поток всё показывает.

 

6 minutes ago, DIMtrade said:

По опыту прирост x8

На 4х ядерном процессоре? У меня никогда такого не было. (Например, у меня разница в 4.7 раз при оптимизации системы в 8 потоков, по сравнению с одним.)

Share this post


Link to post
Share on other sites
DIMtrade
Только что, Player 2 сказал:

На 4х ядерном процессоре? У меня никогда такого не было. (Например, у меня разница в 4.7 раз при оптимизации системы в 8 потоков, по сравнению с одним.)

Да, в подобных операциях, ну сейчас увидим


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

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

Share this post


Link to post
Share on other sites
Player 2
Just now, DIMtrade said:

Да, в подобных операциях, ну сейчас увидим

Наверное потому что памяти не жрет и всё в кэше делается. Тогда такое возможно, да.

Share this post


Link to post
Share on other sites
DIMtrade
Только что, Player 2 сказал:

Наверное потому что памяти не жрет и всё в кэше делается. Тогда такое возможно, да.

Поправка, памяти у меня 32 гига и проца 4 физических и 8 логических. Т.е. 8 полноценных потоков.


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

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

Share this post


Link to post
Share on other sites
AntFX

Ну ты монстр )


1

Share this post


Link to post
Share on other sites
kaif

Интересно, помогают ли эти мощности в розыгрышах на MT4...


механическая торговая система на основе индикатора AT-линий
описание торговой стратегии LTR-AUTO, хроника событий
Docendo discimus

Share this post


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

Поправка, памяти у меня 32 гига и проца 4 физических и 8 логических. Т.е. 8 полноценных потоков.

Размер памяти значения не имеет. Имеет значение размер кэша и сколько данных через себя пропускает код, т.е. читает ли он большие массивы из оперативной памяти. Если процессор не обращается к оперативной памяти, работая только с кэшем, то будет x8 (если еще и операции будут распалаллеливаемые, т.е. такие при которых получаются простаивающие конвейеры). А если кэша не хватает и процессор начинает запрашивать память, то скорость х8 это вряд ли. Хотя может на современных по-другому. У меня комп 2010 года и там всего лишь х2 по сравнению с однопоточным вариантом получается.

Share this post


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

Размер памяти значения не имеет. Имеет значение размер кэша и сколько данных через себя пропускает код, т.е. читает ли он большие массивы из оперативной памяти. Если процессор не обращается к оперативной памяти, работая только с кэшем, то будет x8 (если еще и операции будут распалаллеливаемые, т.е. такие при которых получаются простаивающие конвейеры). А если кэша не хватает и процессор начинает запрашивать память, то скорость х8 это вряд ли. Хотя может на современных по-другому. У меня комп 2010 года и там всего лишь х2 по сравнению с однопоточным вариантом получается.

Помоги функцию кайфа в c# перевести, я в дельфи не силен(((


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

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

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

  • Recently Browsing   0 members

    No registered users viewing this page.

×