﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Быстродействие</title>
  <id>~/topic/2054/bystrodeistvie/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-05T21:04:06Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=2054" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/12682/</id>
    <title type="text">конкатенация строк занимает как раз эти 2мс которые проходят попробуйте Stringbuilder сделал тест на...</title>
    <published>2011-10-25T11:57:43Z</published>
    <updated>2011-10-25T11:57:43Z</updated>
    <author>
      <name>skuvv</name>
      <uri>https://stocksharp.com/users/28621/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Alexander Mukhanchikov &lt;a href="https://stocksharp.com/posts/m/12681/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;конкатенация строк занимает как раз эти 2мс которые проходят&lt;br /&gt;попробуйте Stringbuilder&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;сделал тест на конкатенацию строки:&lt;br /&gt;&lt;span class="highlight"&gt;            DateTime start = DateTime.Now;&lt;br /&gt;            string timefmt = &amp;quot;HH:mm:ss.fff&amp;quot;;&lt;br /&gt;            int id = 100500;&lt;br /&gt;            int tdId = 123123;&lt;br /&gt;            string name = &amp;quot;name&amp;quot;;&lt;br /&gt;            for (int i = 0; i &amp;lt; 1000000; i++)&lt;br /&gt;            {&lt;br /&gt;                string str = &amp;quot;&amp;quot;;&lt;br /&gt;                str += DateTime.Now.ToString(timefmt) + &amp;quot; [parse_order] &amp;quot; + id + &amp;quot; &amp;quot; + tdId + name;&lt;br /&gt;                &lt;br /&gt;            }&lt;br /&gt;            DateTime end = DateTime.Now;&lt;br /&gt;            Console.WriteLine( (end-start).TotalMilliseconds);&lt;br /&gt;            Console.ReadLine();&lt;/span&gt;&lt;br /&gt;Результат в районе 2200мс = 0.0022мс на 1 строку, основное время при этом тратится на DateTime.Now.ToString(timefmt) около 70%&lt;br /&gt;Задержки явно не в приведенном выше коде. Очень хочется разобраться...&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/12681/</id>
    <title type="text">конкатенация строк занимает как раз эти 2мс которые проходят попробуйте Stringbuilder</title>
    <published>2011-10-25T11:41:13Z</published>
    <updated>2011-10-25T11:41:13Z</updated>
    <author>
      <name>Alexander</name>
      <uri>https://stocksharp.com/users/2826/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">конкатенация строк занимает как раз эти 2мс которые проходят&lt;br /&gt;попробуйте Stringbuilder</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/12680/</id>
    <title type="text">Добрый день. Хочу разобраться по теме быстродействия. Записал логи прохождения пары заявок, вот одна...</title>
    <published>2011-10-25T11:34:26Z</published>
    <updated>2011-10-25T11:34:26Z</updated>
    <author>
      <name>skuvv</name>
      <uri>https://stocksharp.com/users/28621/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">Добрый день.&lt;br /&gt;Хочу разобраться по теме быстродействия.&lt;br /&gt;Записал логи прохождения пары заявок, вот одна из них:&lt;br /&gt;&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;Quote:&lt;/span&gt;&lt;div class="innerquote"&gt;&lt;br /&gt;15:09:39.739 [Sending New Order] SRZ1 Buy Price: 0 Qty: 1 Thread: null&lt;br /&gt;15:09:39.764 [Sending New Order] SRZ1 quikOrderID:0 Thread: null&lt;br /&gt;15:09:40.009 [parse_order] 5584936686 54501178 Thread: null&lt;br /&gt;15:09:40.011 [_trader_OrdersChanged] 5584936686 order status Active Thread: null&lt;br /&gt;15:09:40.024 [_trader_OrdersChanged] 5584936686 order Accepted Accepted Thread: null&lt;br /&gt;15:09:40.109 Thread: EventDispatcher thread #мои сделки&lt;br /&gt;15:09:40.112 Thread: EventDispatcher thread #заявки&lt;br /&gt;15:09:40.120 [parse_order] 5584936686 54501178 Thread: EventDispatcher thread #заявки&lt;br /&gt;15:09:40.124 [_trader_OrdersChanged] 5584936686 order status Done Thread: EventDispatcher thread #заявки&lt;br /&gt;15:09:40.126 [_trader_OrdersChanged] 5584936686 order Filled Accepted Thread: EventDispatcher thread #заявки&lt;br /&gt;15:09:40.132 [_trader_NewMyTrades] 5584936686 8412 1 Thread: EventDispatcher thread #мои сделки&lt;br /&gt;15:09:40.154 Thread: EventDispatcher thread #заявки&lt;br /&gt;15:09:40.157 [parse_order] 5584936686 54501178 Thread: EventDispatcher thread #заявки&lt;br /&gt;15:09:40.159 [_trader_OrdersChanged] 5584936686 order status Done Thread: EventDispatcher thread #заявки&lt;br /&gt;15:09:40.161 [_trader_OrdersChanged] 5584936686 order Filled Accepted Thread: EventDispatcher thread #заявки&lt;br /&gt;15:09:40.165 Thread: EventDispatcher thread #заявки&lt;br /&gt;15:09:40.169 [parse_order] 5584936686 54501178 Thread: EventDispatcher thread #заявки&lt;br /&gt;15:09:40.171 [_trader_OrdersChanged] 5584936686 order status Done Thread: EventDispatcher thread #заявки&lt;br /&gt;15:09:40.174 [_trader_OrdersChanged] 5584936686 order Filled Accepted Thread: EventDispatcher thread #заявки&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Кусок кода метода парсинга ордера:&lt;br /&gt;&lt;span class="highlight"&gt;Console.WriteLine(DateTime.Now.ToString(timefmt) + &amp;quot; [parse_order] &amp;quot; + order.Id + &amp;quot; &amp;quot; + order.TransactionId + ThreadName);&lt;br /&gt;                switch (order.Status)&lt;br /&gt;                {&lt;br /&gt;                    case StockSharp.BusinessEntities.OrderStatus.Accepted:&lt;br /&gt;                        {&lt;br /&gt;                            switch (order.State)&lt;br /&gt;                            {&lt;br /&gt;                                case OrderStates.Active:&lt;br /&gt;                                    {&lt;br /&gt;                                        Console.WriteLine(DateTime.Now.ToString(timefmt) + &amp;quot; &amp;quot; + &amp;quot;[_trader_OrdersChanged] &amp;quot;+order.Id+&amp;quot; order status Active&amp;quot;+ThreadName);&lt;br /&gt;....&lt;br /&gt; ....&lt;/span&gt;&lt;br /&gt;Вопрос - почему так долго выполняется код между [parse_order] и [_trader_OrdersChanged] ?&lt;br /&gt;Когда событие происходит в основном потоке(name = null), понятно что там может мешать что угодно.&lt;br /&gt;Но когда событие идет в потоке #заявки, там нечему мешать.&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>