Библиотеки: Virtual - страница 83

 
В мат режиме макросы по отдельности
VIRTUAL_ALTERNATIVE - чуть быстрее чем без макросов
Core 1    pass 0 returned result -2.950378 in 0:00:05.858
Core 1    pass 1 returned result -2.950378 in 0:00:05.810
Core 1    pass 2 returned result -2.950378 in 0:00:05.808
Core 1    pass 3 returned result -2.950378 in 0:00:05.798
Core 1    pass 4 returned result -2.950378 in 0:00:05.798
Tester    optimization finished, total passes 5
Statistics    optimization done in 0 minutes 29 seconds
Statistics    shortest pass 0:00:05.798, longest pass 0:00:05.858, average pass 0:00:05.814

VIRTUAL_SELECTORDERS_OBJECT - тормозит

Core 1    pass 0 returned result -2.950378 in 0:00:09.926
Core 1    pass 1 returned result -2.950378 in 0:00:09.868
Core 1    pass 2 returned result -2.950378 in 0:00:09.858
Core 1    pass 3 returned result -2.950378 in 0:00:09.943
Core 1    pass 4 returned result -2.950378 in 0:00:10.077
Tester    optimization finished, total passes 5
Statistics    optimization done in 0 minutes 50 seconds
Statistics    shortest pass 0:00:09.858, longest pass 0:00:10.077, average pass 0:00:09.934

VIRTUAL_ORDERSELECT_WITHOUT_COPY

Core 1    pass 0 returned result -2.950378 in 0:00:05.611
Core 1    pass 1 returned result -2.950378 in 0:00:05.549
Core 1    pass 2 returned result -2.950378 in 0:00:05.546
Core 1    pass 3 returned result -2.950378 in 0:00:05.574
Core 1    pass 4 returned result -2.950378 in 0:00:05.616
Tester    optimization finished, total passes 5
Statistics    optimization done in 0 minutes 28 seconds
Statistics    shortest pass 0:00:05.546, longest pass 0:00:05.616, average pass 0:00:05.579

 
Лучшие 2 ускоряют примерно на 20%
  #define VIRTUAL_ALTERNATIVE // Альтернативная скорость расчетов
  //#define VIRTUAL_SELECTORDERS_OBJECT // Работа с выбранным окружением без указателей, отключает мультивалютку.
  #define VIRTUAL_ORDERSELECT_WITHOUT_COPY // OrderSelect без копирования ORDER-структуры, отключает мультивалютку.
Мат режим на 1 сек быстрее ~20%
Core 1    pass 0 returned result -2.950378 in 0:00:05.148
Core 1    pass 1 returned result -2.950378 in 0:00:05.123
Core 1    pass 2 returned result -2.950378 in 0:00:05.304
Core 1    pass 3 returned result -2.950378 in 0:00:05.350
Core 1    pass 4 returned result -2.950378 in 0:00:05.180
Tester    optimization finished, total passes 5
Statistics    optimization done in 0 minutes 27 seconds
Statistics    shortest pass 0:00:05.123, longest pass 0:00:05.350, average pass 0:00:05.221
По реал тикам тоже на 1 сек быстрее ~10%
Core 1    pass 0 returned result -2.950378 in 0:00:12.547
Core 1    pass 1 returned result -2.950378 in 0:00:09.027
Core 1    pass 2 returned result -2.950378 in 0:00:09.000
Core 1    pass 3 returned result -2.950378 in 0:00:09.125
Core 1    pass 4 returned result -2.950378 in 0:00:08.976
Tester    optimization finished, total passes 5
Statistics    optimization done in 0 minutes 49 seconds
Statistics    shortest pass 0:00:08.976, longest pass 0:00:12.547, average pass 0:00:09.735

 
MQ тестер с той же задачей
Core 1    pass 0 returned result -2.950378 in 0:00:29.771
Core 1    pass 1 returned result -2.950378 in 0:00:25.898
Core 1    pass 2 returned result -2.950378 in 0:00:25.800
В среднем почти 26 сек - против 5 сек в мат режиме
 
fxsaber #:
Неожиданно.

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

 
fxsaber #:

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

Убрал переключения и оставил 1 виртуалку

Core 1    pass 0 returned result -2.950378 in 0:00:03.745
Core 1    pass 1 returned result -2.950378 in 0:00:03.699
Core 1    pass 2 returned result -2.950378 in 0:00:03.700
Core 1    pass 3 returned result -2.950378 in 0:00:03.701
Core 1    pass 4 returned result -2.950378 in 0:00:03.719
Tester    optimization finished, total passes 5
Statistics    optimization done in 0 minutes 19 seconds
Statistics    shortest pass 0:00:03.699, longest pass 0:00:03.745, average pass 0:00:03.712

2 виртуалки без переключений на 0

Core 1    pass 0 returned result -2.950378 in 0:00:03.700
Core 1    pass 1 returned result -2.950378 in 0:00:03.654
Core 1    pass 2 returned result -2.950378 in 0:00:03.666
Core 1    pass 3 returned result -2.950378 in 0:00:03.664
Core 1    pass 4 returned result -2.950378 in 0:00:03.691
Tester    optimization finished, total passes 5
Statistics    optimization done in 0 minutes 18 seconds
Statistics    shortest pass 0:00:03.654, longest pass 0:00:03.700, average pass 0:00:03.675

 
Forester #:
MQ тестер с той же задачей В среднем почти 26 сек - против 5 сек в мат режиме
Через какой метод переключаетесь между виртуалками?
 
Forester #:

Убрал переключения и оставил 1 виртуалку

Это с макросом?
 
fxsaber #:
Это с макросом?
Это все 3
 
fxsaber #:
Через какой метод переключаетесь между виртуалками?

VIRTUAL::SelectByIndex(0);// восстановит реальный тестер, чтобы получить правильное время и тик, а не последний из Virtual

Вот оно на каждом тике и тормозит до 8 секунд