скорость работы оптимизатора в многопоточном режиме

про оптимизатор

  1. linuxdesk

    Регистрация:
    06.04.18
    Сообщения:
    14
    Был на сайте:
    28.03.21

    Всем привет.

    Не решил в какую ветку писать. Наверно оптимизатор тоже сюда относится?
    Интересно узнать про скорость работы оптимизатора в многопоточном режиме.
    Я запускал пустого бота с перебором 1 параметра на годовой истории, таймфрейм H1.
    У меня проц i5-4200m (2 ядра, 4 потока). С учетом что бот пустой, ресурсы у компа свободны,
    то 4 потока должны же быть быстрее?
    Однако, запуск в 1 потоке занимает примерно столько же времени как запуск в 4 потока.

    На моей машине я получил такие замеры:
    50 запусков в 1 потоке = 260 сек, т.е. 5,2 сек/прогон
    10 запусков в 4 потока = 53 сек, т.е. 5,3 сек/прогон

    Со свечами m5 на том же сете:
    10 запусков в 1 потоке = 56 сек, т.е. 5,6 сек/прогон
    50 запусков в 4 потока = 274 сек, т.е. 5,48 сек/прогон

    Так и должно быть?


    И еще по поводу памяти. Мой бот за 1 прогон на годовой истории на свечках потребляет примерно 30 мб памяти.

    Но после завершения теста память не освобождается. У меня 12 гб памяти, и если под оптимизатор выделить 10 гб, то получается всего примерно 330 тестов.
    Очень хочется перебирать большие серии параметров. Мне не особо нужна статистика оптимизатора - я могу считать статистику прям из бота и логировать результаты, и затем по логам разобраться что к чему. Но нужно освобождение ресурсов. Можно ли с этим что-нибудь придумать?

    linuxdesk
    12.07.2018 20:55
    #1
  2. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1172
    Был на сайте:
    26.04.24

    И еще по поводу памяти. Мой бот за 1 прогон на годовой истории на свечках потребляет примерно 30 мб памяти.

    Но после завершения теста память не освобождается. У меня 12 гб памяти, и если под оптимизатор выделить 10 гб, то получается всего примерно 330 тестов.
    Очень хочется перебирать большие серии параметров. Мне не особо нужна статистика оптимизатора - я могу считать статистику прям из бота и логировать результаты, и затем по логам разобраться что к чему. Но нужно освобождение ресурсов. Можно ли с этим что-нибудь придумать?

    Оптимизатор в OsEngine работает также, через эмулятор биржи, с синхронизацией и всеми остальными делами. Поэтому это не быстро.

    Память кушается на сохранение журналов по каждому боту. Но тут есть манёвр для оптимизации. Нужно смотреть. Совсем без результатов не получиться сделать общую версию. Остальным эта штука нужна.

    Алексей Ван
    13.07.2018 07:13
    #2
  3. linuxdesk

    Регистрация:
    06.04.18
    Сообщения:
    14
    Был на сайте:
    28.03.21
    Цитата: Алексей Ван
    Память кушается на сохранение журналов по каждому боту. Но тут есть манёвр для оптимизации. Нужно смотреть.

    Добрый день. Расскажите, пожалуйста, где смотреть.

    И, если получится, хотя бы вкратце, как там все устроено.

    linuxdesk
    18.07.2018 18:21
    #3
  4. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1172
    Был на сайте:
    26.04.24
    Цитата: linuxdesk
    Цитата: Алексей Ван
    Память кушается на сохранение журналов по каждому боту. Но тут есть манёвр для оптимизации. Нужно смотреть.

    Добрый день. Расскажите, пожалуйста, где смотреть.

    И, если получится, хотя бы вкратце, как там все устроено.

    OsOptimizer/OptimizerExecutor.cs

    строка 540. Метод StartNewBot.

    Как я понимаю именно старт занимает кучу времени. Потом тесты идут нормально. Именно поэтому пустые тесты дают одинаковые резаультаты.

    Там в методе всё подписано поэтапно. Проблема я думаю в скорости подключения к серверу данных. Там это несколько секунд занимает.

    Вот и всё.

    Нестыковку с параметрами я пофиксил на днях. Вчера залил на Гит.


    Алексей Ван
    19.07.2018 09:10
    #4
  5. linuxdesk

    Регистрация:
    06.04.18
    Сообщения:
    14
    Был на сайте:
    28.03.21
    Цитата: Алексей Ван
    OsOptimizer/OptimizerExecutor.cs строка 540. Метод StartNewBot. Как я понимаю именно старт занимает кучу времени. Потом тесты идут нормально. Именно поэтому пустые тесты дают одинаковые резаультаты. Там в методе всё подписано поэтапно. Проблема я думаю в скорости подключения к серверу данных. Там это несколько секунд занимает. Вот и всё. Нестыковку с параметрами я пофиксил на днях. Вчера залил на Гит.

    Большое спасибо. Да, на гите уже видел.

    linuxdesk
    19.07.2018 12:39
    #5