﻿<?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">decimal vs double и скорость тестирования</title>
  <id>~/topic/4491/decimal-vs-double-i-skorost-testirovaniya/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-04-24T13:47:54Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=4491" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/30479/</id>
    <title type="text">Иб...ть все умные какие. vk37, эта тема обсуждалась здесь http://stocksharp.com/forum/1201/Pochiemu-...</title>
    <published>2014-05-06T03:28:46Z</published>
    <updated>2016-08-16T00:18:02Z</updated>
    <author>
      <name>Иван З.</name>
      <uri>https://stocksharp.ru/users/6502/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Иб...ть все умные какие. &lt;br /&gt;vk37, эта тема обсуждалась здесь &lt;a href="http://stocksharp.com/forum/1201/Pochiemu-double--a-nie-decimal/" title="http://stocksharp.com/forum/1201/Pochiemu-double--a-nie-decimal/"&gt;http://stocksharp.com/fo...u-double--a-nie-decimal/&lt;/a&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/30478/</id>
    <title type="text">Но для полноты картины и простые циклы полезны. Выражение &amp;quot;Полнота картины&amp;quot; не русско-язычное. Заимс...</title>
    <published>2014-05-05T21:36:49Z</published>
    <updated>2014-05-05T21:36:49Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;vk37 &lt;a href="https://stocksharp.ru/posts/m/30464/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Но для полноты картины и простые циклы полезны.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Выражение &amp;quot;Полнота картины&amp;quot; не русско-язычное. Заимствовано из английской лексики, обозначающее увидеть всю картину в целом.&lt;br /&gt;&lt;br /&gt;В то же самое время простые циклы показывают узкие вещи, конкретные. Что является антагонизмом &amp;quot;полной картины&amp;quot;.&lt;br /&gt;&lt;br /&gt;Так что же вы хотели в своем сообщении написать?&lt;br /&gt;&lt;br /&gt;Если вдруг не понятно что я написал выше, то ваше выражение, что я процитировал, равносильно высказыванию (в простом приближении) &amp;quot;Но для определения бесконечности и конечные результаты полезны&amp;quot;.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/30464/</id>
    <title type="text">Так что всё надо проверять не простыми циклами, а в прототипах.Согласен. Но для полноты картины и пр...</title>
    <published>2014-05-04T09:51:05Z</published>
    <updated>2014-05-04T09:51:05Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;VassilSanych &lt;a href="https://stocksharp.ru/posts/m/30460/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Так что всё надо проверять не простыми циклами, а в прототипах.&lt;/div&gt;&lt;/div&gt;Согласен. Но для полноты картины и простые циклы полезны.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/30463/</id>
    <title type="text">Действительно decimal в 5 раз медленнее double простейший тест со сложением 3 чисел с циклом на 1 мл...</title>
    <published>2014-05-04T09:48:06Z</published>
    <updated>2014-05-04T09:48:06Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;MenDel &lt;a href="https://stocksharp.ru/posts/m/30450/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Действительно decimal в 5 раз медленнее double&lt;br /&gt;простейший тест со сложением 3 чисел с циклом на 1 млрд итераций это подтвердил&lt;br /&gt;decimal 9.9035664 сек&lt;br /&gt;double 1,8151038 сек&lt;br /&gt;float 2,3131323 сек&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Наверное код не очень показательный. У меня получились такие результаты на моей машине: &lt;br /&gt;decimal 00:00:00.2390504&lt;br /&gt;double 00:00:00.2370485&lt;br /&gt;float 00:00:00.2440493&lt;br /&gt;&lt;br /&gt;Т.е. разницы по времени нет.&lt;br /&gt;&lt;br /&gt;Если код поправить так:&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;
            var startTime = DateTime.Now;
            decimal a = 0;
            for (var i = 0; i &amp;lt;= 1000000000; i++)
            {
                a += 0.456m + 0.578m + 5.146m;
            }
            Console.WriteLine(&amp;quot;decimal &amp;quot; + (DateTime.Now - startTime));

            startTime = DateTime.Now;
            double b = 0;
            for (var i = 0; i &amp;lt;= 1000000000; i++)
            {
                b += 0.456 + 0.578 + 5.146;
            }
            Console.WriteLine(&amp;quot;double &amp;quot; + (DateTime.Now - startTime));

            startTime = DateTime.Now;
            float c = 0;
            for (var i = 0; i &amp;lt;= 1000000000; i++)
            {
                c += 0.456f + 0.578f + 5.146f;
            }
            Console.WriteLine(&amp;quot;float &amp;quot; + (DateTime.Now - startTime));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;То результат будет таким:&lt;br /&gt;decimal 00:00:12.1334884&lt;br /&gt;double 00:00:00.2380476&lt;br /&gt;float 00:00:00.2370482&lt;br /&gt;&lt;br /&gt;По этому тесту тип decimal в 30 раз медленнее, чем double.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/30460/</id>
    <title type="text">Во-первых, decimal ширше. Надо чётко осознавать, хватит ли double. Во-вторых, иногда в операциях с Б...</title>
    <published>2014-05-04T06:16:42Z</published>
    <updated>2014-05-04T06:18:27Z</updated>
    <author>
      <name>VassilSanych</name>
      <uri>https://stocksharp.ru/users/6491/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Во-первых, decimal ширше. Надо чётко осознавать, хватит ли double.&lt;br /&gt;Во-вторых, иногда в операциях с БД тип decimal - тип по умолчанию, а значит будут потери на приведение типов.&lt;br /&gt;В третьих, иногда при сериализации decimal так же более родной тип.&lt;br /&gt;А при вычислениях и хранении, конечно double лучше, потому что&lt;br /&gt;- меньше&lt;br /&gt;- оптимизирован для нынешних процессоров.&lt;br /&gt;Так что всё надо проверять не простыми циклами, а в прототипах.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/30450/</id>
    <title type="text">Немного не в тему, но к слову о скорости, Скажите есть ли разница в скорости в зависимости от того н...</title>
    <published>2014-05-02T09:30:18Z</published>
    <updated>2014-05-02T18:48:10Z</updated>
    <author>
      <name>MenDel</name>
      <uri>https://stocksharp.ru/users/6356/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Немного не в тему, но&lt;br /&gt;к слову о скорости, &lt;br /&gt;&lt;br /&gt;Скажите есть ли разница в скорости в зависимости от того на чем запущен тестер HDD, SSD или флэшка?&lt;br /&gt;&lt;br /&gt;При торговле на реале,&lt;br /&gt;Если на событие NewTrades подписать 10 разных методов. Это повлияет на скорость обработки сделок или все 10 методов будут работать параллельно и скорость обработки полученных сделок не изменится?&lt;br /&gt;&lt;br /&gt;То же самое если запущено 10 различных стратегий и в каждой еще работает стоп-лосс и тейк-профит скорость обработки получаемых сделок будет меньше, чем если 1 стратегия работает?&lt;br /&gt;&lt;br /&gt;Скажите пожалуйста кто знает&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Действительно decimal в 5 раз медленнее double&lt;br /&gt;простейший тест со сложением 3 чисел с циклом на 1 млрд итераций это подтвердил&lt;br /&gt;decimal 9.9035664 сек&lt;br /&gt;double 1,8151038 сек&lt;br /&gt;float 2,3131323 сек&lt;br /&gt;&lt;br /&gt;&lt;div class='spoilertitle'&gt;&lt;input type='button' value='Показать спойлер' class='btn btn-primary' onclick="toggleSpoiler(this, 'spolier_c2a71ad72dd04971b69aa20600ae09f5');" title='Показать спойлер' /&gt;&lt;/div&gt;&lt;div class='spoilerbox' id='spolier_c2a71ad72dd04971b69aa20600ae09f5' style='display:none'&gt;&lt;div class="code"&gt;&lt;strong&gt;Код&lt;/strong&gt;&lt;div class="innercode"&gt;&lt;pre class="brush:csharp"&gt;

var startTime = DateTime.Now;
decimal A;
for (var i1 = 0; i1 &amp;lt;= 1000000000; i1++)
{
   A = 0.456m + 0.578m + 5.146m;
}
Console.WriteLine(&amp;quot;decimal &amp;quot; + (DateTime.Now - startTime));

startTime = DateTime.Now;
double B;
for (var i1 = 0; i1 &amp;lt;= 1000000000; i1++)
{
   B = 0.456 + 0.578 + 5.146;
}
Console.WriteLine(&amp;quot;double &amp;quot; + (DateTime.Now - startTime));

startTime = DateTime.Now;
float C;
for (var i1 = 0; i1 &amp;lt;= 1000000000; i1++)
{
   C = 0.456f + 0.578f + 5.146f;
}
Console.WriteLine(&amp;quot;float &amp;quot; + (DateTime.Now - startTime));&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Время деньги!&lt;br /&gt;Надо переходить на double)</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/30448/</id>
    <title type="text">Михаил, черноту юмора мы оценили. vk37, ну действительно, давайте по-подробнее: что, где и как тести...</title>
    <published>2014-04-30T03:55:45Z</published>
    <updated>2014-04-30T03:55:45Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;slavon &lt;a href="https://stocksharp.ru/posts/m/30444/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;Михаил, черноту юмора мы оценили. vk37, ну действительно, давайте по-подробнее: что, где и как тестировали?&lt;/div&gt;&lt;/div&gt;Тип decimal в сравнении с double значительно медленнее. &lt;a target="_blank" rel="nofollow" href="https://stocksharp.ru/away/?u=AQAAAAAAAAB-3xwN6F17hGNfc2dyoX02sIwld37wIs-cg1BaLpISwBgpm3Ls-o2kYXdLNSt5i-CoZQsqjNHuFZDOjaJ_34BtXqzswtOENJTDvU56CTpQ0hqFTcr1geDkXMFh89MAMCsFaXq9MouousjmBuF8k3nKkIsu9s1H6IX5aWE71F7FUQ" title="http://blog.csharphelper.com/2012/07/11/compare-the-performance-of-the-float-double-and-decimal-data-types-in-c.aspx"&gt;Здесь&lt;/a&gt;, например, можно посмотреть.&lt;br /&gt;&lt;br /&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/30444/</id>
    <title type="text">Михаил, черноту юмора мы оценили. vk37, ну действительно, давайте по-подробнее: что, где и как тести...</title>
    <published>2014-04-29T09:27:41Z</published>
    <updated>2014-04-29T09:27:41Z</updated>
    <author>
      <name>slavon</name>
      <uri>https://stocksharp.ru/users/39049/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">Михаил, черноту юмора мы оценили. vk37, ну действительно, давайте по-подробнее: что, где и как тестировали?</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/30437/</id>
    <title type="text">На моем тестере разница по скорости тестирования в 4 раза. А должно быть в 5. Где-то ошибка.</title>
    <published>2014-04-28T21:35:31Z</published>
    <updated>2014-04-28T21:35:31Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.ru/users/201/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;div class="quote"&gt;&lt;span class="quotetitle"&gt;vk37 &lt;a href="https://stocksharp.ru/posts/m/30436/" class="quote_nav"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="innerquote"&gt;На моем тестере разница по скорости тестирования в 4 раза.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;А должно быть в 5. Где-то ошибка.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/30436/</id>
    <title type="text">На моем тестере разница по скорости тестирования в 4 раза.</title>
    <published>2014-04-28T21:24:05Z</published>
    <updated>2014-04-28T21:24:05Z</updated>
    <author>
      <name>vk37</name>
      <uri>https://stocksharp.ru/users/6296/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">На моем тестере разница по скорости тестирования в 4 раза.</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>