<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410032&amp;view=findpost&amp;p=3700974</guid>
        <pubDate>Fri, 06 Jan 2017 14:35:23 +0000</pubDate>
        <title>Скорость чтения/записи файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=410032&amp;view=findpost&amp;p=3700974</link>
        <description><![CDATA[barazuk: <strong class='tag-b'>Dark Side</strong>, ну может люди просто на пиво поспорили :)]]></description>
        <author>barazuk</author>
        <category>Пакетные файлы CMD, BAT</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410032&amp;view=findpost&amp;p=3697261</guid>
        <pubDate>Sun, 11 Dec 2016 14:05:35 +0000</pubDate>
        <title>Скорость чтения/записи файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=410032&amp;view=findpost&amp;p=3697261</link>
        <description><![CDATA[Dark Side: Извините, но &quot;максимально быстро&quot;, vbscript и чтение 80 гигов по 4 мегабайта у меня почему-то вместе в голове не укладываются.]]></description>
        <author>Dark Side</author>
        <category>Пакетные файлы CMD, BAT</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410032&amp;view=findpost&amp;p=3697241</guid>
        <pubDate>Sun, 11 Dec 2016 07:50:42 +0000</pubDate>
        <title>Скорость чтения/записи файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=410032&amp;view=findpost&amp;p=3697241</link>
        <description><![CDATA[leo: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410032&view=findpost&p=3697009'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>.alex &#064; <time class="tag-quote__quoted-time" datetime="2016-12-08T11:27:30+00:00">08.12.16, 11:27</time></span><div class='quote '>Если же запустить параллельно четыре таких скрипта, то тогда загрузка проца будет примерно под 100% и скорость чтения будет приближаться к заявленной для HDD скорости (100МБ/с)</div></div><br>
С загрузкой проца все понятно. А вот со скоростью чтения диска есть вопрос - как ты ее определяешь? Если бы общее время чтения файла (всеми скриптами) сократилось в 4-5 раз это одно. Если же оно осталось примерно тем же самым, то увеличение скорости чтения 4-мя скриптами - это просто фикция, поскольку реально файл читается с диска один раз, а не 4. При обычном буферированном чтении файла, данные, прочитанные одним из скриптов, оседают в системном (файловом) кэше, поэтому остальные скрипты получают их практически &quot;мгновенно&quot; без обращения к диску. Но формально получается, что 4 скрипта читают за то же время в 4 раза больше данных, чем один - отсюда и формальное увеличение скорости чтения.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=410032&view=findpost&p=3697009'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>.alex &#064; <time class="tag-quote__quoted-time" datetime="2016-12-08T11:27:30+00:00">08.12.16, 11:27</time></span><div class='quote '>или выход только многопоточность (хоят в данном случае это &quot;многопроцессность&quot;)?</div></div><br>
При обработке файлов многопоточность может дать заметный выигрыш только в том случае, когда время обработки данных превышает, сравнимо или хотя бы составляет существенный процент от времени чтения этих данных с диска. Но и в этом случае лучше, если чтением файла будет заниматься один поток, а остальные - обработкой считанных данных. Если же несколько потоков будут читать разные файлы или один файл по разным (непоследовательным) смещениям, то вместо выигрыша можно получить существенный проигрыш из-за непоследовательного доступа к диску (накладных расходов на перемещение головок HDD).]]></description>
        <author>leo</author>
        <category>Пакетные файлы CMD, BAT</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=410032&amp;view=findpost&amp;p=3697009</guid>
        <pubDate>Thu, 08 Dec 2016 11:27:30 +0000</pubDate>
        <title>Скорость чтения/записи файла</title>
        <link>https://forum.sources.ru/index.php?showtopic=410032&amp;view=findpost&amp;p=3697009</link>
        <description><![CDATA[.alex: День добрый. Такой теоретический вопрос. Вот простейший скрипт на vbs, который читает буфер из большого файла и ничего с ним не делает.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)</div><div class="code_line">Set File = FSO.GetFile(&quot;z:\zzz.iso&quot;)</div><div class="code_line">Set TextStream = File.OpenAsTextStream(1)</div><div class="code_line">&nbsp;</div><div class="code_line">Dim sIna</div><div class="code_line">sIna = &quot;&quot;</div><div class="code_line">&nbsp;</div><div class="code_line">Do While Not TextStream.AtEndOfStream</div><div class="code_line">&nbsp;&nbsp;sIna = TextStream.Read(4096 * 1000)</div><div class="code_line">&nbsp;&nbsp;sIna = &quot;&quot;</div><div class="code_line">Loop</div><div class="code_line">TextStream.Close</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
У меня задача максимально быстро читать большие файлы (от 80Гб), так вот это скрипт грузит проц процентов на 12-15 и в диспечере задач видно что процесс в котором запущен скрипт читает файл примерно со скоростью 20МБ/с. Если же запустить параллельно четыре таких скрипта, то тогда загрузка проца будет примерно под 100% и скорость чтения будет приближаться к заявленной для HDD скорости (100МБ/с). Подскажите почему один скрипт не может &quot;на полную&quot; использовать ресурсы компа, это ОС его ограничивает? Можно ли это ограничение убрать для конкретного процесса или выход только многопоточность (хоят в данном случае это &quot;многопроцессность&quot;)? Или вообще все не так?))<br>
ps. давненько я на форум не заходил...)]]></description>
        <author>.alex</author>
        <category>Пакетные файлы CMD, BAT</category>
      </item>
	
      </channel>
      </rss>
	