﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Многопоточность</title>
  <id>~/topic/2828/mnogopotochnost/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-11T18:34:36Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=2828" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/20234/</id>
    <title type="text">Что лучше, идти в сторону создания потоков или же запускать несколько копий программы? Эмм если у ва...</title>
    <published>2012-07-09T02:58:20Z</published>
    <updated>2012-07-09T02:59:14Z</updated>
    <author>
      <name>anothar</name>
      <uri>https://stocksharp.ru/users/6089/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Что лучше, идти в сторону создания потоков или же запускать несколько копий программы?
Эмм если у вас есть автотестер, кот сам генерит диапазон варьируемых параметров, то второе неприемлемо. Да и вообще неудобно.
Создавать потоки так то несложно. Что же касается загрузки - то если у вас скажем метров 300 данных, то вполне логично их в память засосать.
А 7 жестких дисков, это по-моему изврат. Проще память дорастить и все в нее подкачивать. Или же подкачивать в нее большой кусок и синхронизировать выполнение потоков так, чтобы они ждали
пока все выполнят прогон на этом куске и только потом выполнять следующий.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20203/</id>
    <title type="text">Сергей MenDel: Я ваще спрашивал про многопоточность. Судя по тому, сколько разных мнение, можно дога...</title>
    <published>2012-07-06T12:09:09Z</published>
    <updated>2012-07-06T12:09:09Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(20197)" rel="nofollow" target="_blank"&gt;Сергей MenDel&lt;/a&gt;:&lt;/strong&gt;
Я ваще спрашивал про многопоточность.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Судя по тому, сколько разных мнение, можно догадаться самостоятельно - универсального рецепта нет. Все индивидуально от используемым программ, библиотек, способов организации работы с данными.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20198/</id>
    <title type="text">Сергей MenDel: Ладно, суть не в этом. Я ваще спрашивал про многопоточность. Что лучше, идти в сторон...</title>
    <published>2012-07-06T09:49:38Z</published>
    <updated>2012-07-06T09:49:38Z</updated>
    <author>
      <name>ra81</name>
      <uri>https://stocksharp.ru/users/16581/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(20197)" rel="nofollow" target="_blank"&gt;Сергей MenDel&lt;/a&gt;:&lt;/strong&gt;
Ладно, суть не в этом.
Я ваще спрашивал про многопоточность.
Что лучше, идти в сторону создания потоков или же запускать несколько копий программы?
Я так и не понял.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ну вроде пояснили. В случае одной копии программы и много потоков стратегий, затык будет на вводе данных с диска и распаковке. В случае множества копий, затыка не будет, ибо распаковка будет в разых потоках для каждой копии. Вроде так.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20197/</id>
    <title type="text">Я на самом деле еще на S# не перешел, не понимаю ещ как некоторые вещи в нем реализовать. И все ещ с...</title>
    <published>2012-07-06T08:06:41Z</published>
    <updated>2012-07-06T08:06:41Z</updated>
    <author>
      <name>MenDel</name>
      <uri>https://stocksharp.ru/users/6356/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Я на самом деле еще на S# не перешел, не понимаю ещ как некоторые вещи в нем реализовать. И все ещ считываю данные с txt файлов, а вся тиковая история за 6,5 лет занимает порядка 8 Гб и поэтому приходится считывать их с разных дисков.
Просто когда за раз 10000 вариантов прогоняешь, надо все эти результаты вести. Сейчас я знаю как это сделать, а в S# не знаю.&lt;/p&gt;
&lt;p&gt;Ладно, суть не в этом.
Я ваще спрашивал про многопоточность.
Что лучше, идти в сторону создания потоков или же запускать несколько копий программы?
Я так и не понял.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20192/</id>
    <title type="text">Как писали умные люди, потратившие много времени на исследования, ввод вывод редко является проблемо...</title>
    <published>2012-07-06T05:48:50Z</published>
    <updated>2012-07-06T05:48:50Z</updated>
    <author>
      <name>ra81</name>
      <uri>https://stocksharp.ru/users/16581/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Как писали умные люди, потратившие много времени на исследования, ввод вывод редко является проблемой. Почти всегда алгоритм расчета пожирает все процессорное время и является узким местом.
Считать 300 мегабайт данных по фучу ртс за 3 года дело пары секунд. А вот обработать - уже часы. Поэтому не знаю зачем нужны 7 винтов итд.&lt;/p&gt;
&lt;p&gt;Ну собственно тут выше сказано что распаковка данных и подготовка к работе пожирает все время одного ядра. А дальше еще стратегия будет, тоже сожрет :).&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20191/</id>
    <title type="text">Если уж бутылочным горлышком является ввод-вывод, почему бы не попробовать посмотреть в сторону SSD?...</title>
    <published>2012-07-06T03:58:41Z</published>
    <updated>2012-07-06T03:58:41Z</updated>
    <author>
      <name>Антон</name>
      <uri>https://stocksharp.ru/users/6106/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Если уж бутылочным горлышком является ввод-вывод, почему бы не попробовать посмотреть в сторону SSD? 7 винтов - жесть...&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20190/</id>
    <title type="text">У меня 4 реальных и 4 виртульных, пенек 2600. Чтоб скорость доступа к данным не тормозила программу ...</title>
    <published>2012-07-06T03:49:36Z</published>
    <updated>2012-07-06T03:53:59Z</updated>
    <author>
      <name>MenDel</name>
      <uri>https://stocksharp.ru/users/6356/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;У меня 4 реальных и 4 виртульных, пенек 2600. Чтоб скорость доступа к данным не тормозила программу у меня каждая копия считывает данные с отдельного винта, пришлось 7 жестких дисков воткнуть.
Я всегда тестирую не один контракт, а склееный фьюч за 6,5 лет. А это очень долго, бывает 1 тест занимает несколько дней, но зато прогоняет десятки тысяч всевозможных вариантов.
Мое мнение, тест истории 1 контракта из 27 существующих не совсем правильно. Надо смотреть как стратегия вела себя в разные времена.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20156/</id>
    <title type="text">В тестере 2 потока 1й грузит с диска и распаковывает тики и стаканы и помещает их в очередь 2й читае...</title>
    <published>2012-07-05T08:10:35Z</published>
    <updated>2012-07-05T08:10:35Z</updated>
    <author>
      <name>pyhta4og</name>
      <uri>https://stocksharp.ru/users/497/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;В тестере 2 потока
1й грузит с диска и распаковывает тики и стаканы и помещает их в очередь
2й читает эту очередь и скармливает данные стратегиям, получает заявки от стратегий и эмулирует их&lt;/p&gt;
&lt;p&gt;Если написать стратегию которая ничего не делает (и не тратит времени), то 2й поток будет в основном просто ждать когда 1й загрузит данные.
Если добавить 7 копий этой быстрой стратегии, то все равно все будет упираться в скорость загрузки данных.&lt;/p&gt;
&lt;p&gt;То что у вас загрузка 13% видимо означает что у вас много ядер. Сколько, кстати?&lt;/p&gt;
&lt;p&gt;Поток загрузки данных полностью занимает одно ядро, а остальные простаивают.&lt;/p&gt;
&lt;p&gt;К сожалению разумной схемы как использовать больше чем 1 ядро для загрузки и распаковки данных мы пока не придумали. Возможно в будущем это изменится.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20155/</id>
    <title type="text">BigBen: Сделай так: по-быстрому создай (скопируй) ещё 6 копий стратегий, запусти их с разными параме...</title>
    <published>2012-07-05T07:19:04Z</published>
    <updated>2012-07-05T07:19:04Z</updated>
    <author>
      <name>MenDel</name>
      <uri>https://stocksharp.ru/users/6356/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(20152)" rel="nofollow" target="_blank"&gt;BigBen&lt;/a&gt;:&lt;/strong&gt;
Сделай так: по-быстрому создай (скопируй) ещё 6 копий стратегий, запусти их с разными параметрами вместе с базовой и сам увидишь, что из этого получится. Это быстрее и полезнее для тебя, чем ждать, что кто-то когда-то откликнется на твой вопрос.
Я так и делаю). Все копии отлично работают. Скорость не падает.
Но мне кажется это не совсеи правильно, хотел вот узнать, стоит ли вместо копий делать потоки. Я с ними еще не работал, потому это займет уйму времени.
Вот хотел поинтересоваться стоит ли это того.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20152/</id>
    <title type="text">Сделай так: по-быстрому создай (скопируй) ещё 6 копий стратегий, запусти их с разными параметрами вм...</title>
    <published>2012-07-05T04:42:50Z</published>
    <updated>2012-07-05T04:42:50Z</updated>
    <author>
      <name>BigBen</name>
      <uri>https://stocksharp.ru/users/6302/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Сделай так: по-быстрому создай (скопируй) ещё 6 копий стратегий, запусти их с разными параметрами вместе с базовой и сам увидишь, что из этого получится. Это быстрее и полезнее для тебя, чем ждать, что кто-то когда-то откликнется на твой вопрос.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/20120/</id>
    <title type="text">Ребят, обьясните пожалуйста. Вот я написал код на тестирование пересечения скользящих средних и всяк...</title>
    <published>2012-07-03T15:19:08Z</published>
    <updated>2012-07-03T15:19:08Z</updated>
    <author>
      <name>MenDel</name>
      <uri>https://stocksharp.ru/users/6356/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Ребят, обьясните пожалуйста. Вот я написал код на тестирование пересечения скользящих средних и всякой другой хрени. При тестировании процессор загружается всего на 13%. Если я создам 7 потоков, то я сделаю тестов в 7 раз больше?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>