Я не опытный программист, но я делаю большую статистику рынка, используя NT для себя.
Как только я решил использовать оба ядра моего ноутбука для затяжных вычислений, я обнаружил, что большинство примеров вызывают ошибки NinjaScript или очень сложны для моих простых практических задач.
По крайней мере, я нашел рабочий код, который подходит ему по простоте и минимализму. И я делюсь этим здесь.
Эта стратегия создает 2 массива случайных двойных значений. Длина массива (N) является единственным параметром этой стратегии.
Затем стратегия вычисляет контрольную сумму обоих массивов, используя ресурсоемкий алгоритм.
Сначала контрольная сумма рассчитывается с использованием 2 новых потоков, а затем вычисляется с использованием обычного последовательного метода.
Время расчета стратегии печати и контрольная сумма в окне вывода.
ВАЖНЫЙ:
1) Дополнительные потоки читают и записывают в глобальные переменные (я знаю, что это неправильно, но это быстро работает).
2) Вы не можете получить доступ к массивам (например, int [] i) из дополнительного потока, вы должны использовать List.
Для опытных программистов: пожалуйста, не читайте это описание и не смотрите в прилагаемой стратегии.
=====
I am not experienced programmer, but I making a lot of market statistics using NT for myself.
Once I decided to use both cores of my laptop for lingering calculations, I found out that most examples cause NinjaScript errors or very complicated for my simple practical tasks.
At least, I found working code, that suits by it simplicity and minimalism. And I sharing it here.
This strategy create 2 massives of random double values. Lenght of massives (N) is one only parameter of this strategy.
Then strategy calculates control sum of both massives using resource?intensive algorithm.
At first, control sum calculates using 2 new threads, than it calculate using ussual serial method.
Strategy print calculation time and control sum in output window.
IMPORTANT:
1) Additional threads read and write to global variables (I know this is wrong, but it is work quick).
2) You can't access to arrays (like int[] i) from additional thread, You have to use List.
For experienced programmers: please, don't read this description and don't look in attached strategy.
Как только я решил использовать оба ядра моего ноутбука для затяжных вычислений, я обнаружил, что большинство примеров вызывают ошибки NinjaScript или очень сложны для моих простых практических задач.
По крайней мере, я нашел рабочий код, который подходит ему по простоте и минимализму. И я делюсь этим здесь.
Эта стратегия создает 2 массива случайных двойных значений. Длина массива (N) является единственным параметром этой стратегии.
Затем стратегия вычисляет контрольную сумму обоих массивов, используя ресурсоемкий алгоритм.
Сначала контрольная сумма рассчитывается с использованием 2 новых потоков, а затем вычисляется с использованием обычного последовательного метода.
Время расчета стратегии печати и контрольная сумма в окне вывода.
ВАЖНЫЙ:
1) Дополнительные потоки читают и записывают в глобальные переменные (я знаю, что это неправильно, но это быстро работает).
2) Вы не можете получить доступ к массивам (например, int [] i) из дополнительного потока, вы должны использовать List.
Для опытных программистов: пожалуйста, не читайте это описание и не смотрите в прилагаемой стратегии.
=====
I am not experienced programmer, but I making a lot of market statistics using NT for myself.
Once I decided to use both cores of my laptop for lingering calculations, I found out that most examples cause NinjaScript errors or very complicated for my simple practical tasks.
At least, I found working code, that suits by it simplicity and minimalism. And I sharing it here.
This strategy create 2 massives of random double values. Lenght of massives (N) is one only parameter of this strategy.
Then strategy calculates control sum of both massives using resource?intensive algorithm.
At first, control sum calculates using 2 new threads, than it calculate using ussual serial method.
Strategy print calculation time and control sum in output window.
IMPORTANT:
1) Additional threads read and write to global variables (I know this is wrong, but it is work quick).
2) You can't access to arrays (like int[] i) from additional thread, You have to use List.
For experienced programmers: please, don't read this description and don't look in attached strategy.