<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Bringt paralleles Einlesen&#x2F;Schreiben mehrerer Dateien etwas?]]></title><description><![CDATA[<p>Ich frage mich immer wieder, wie gut I/O auf Festplatten parallelisierbar ist und habe keine befriedigenden Antworten im Internet gefunden. Folgende Szenarien:</p>
<ul>
<li>Will mehrere Dateien parsen und im RAM speichern</li>
<li>Will mehrere Dateien einlesen, leicht ändern (nur lokal, brauche wenig Buffer) und direkt wieder rausschreiben</li>
<li>Habe Ergebnisse, will mehrere Dateien rausschreiben</li>
</ul>
<p>Und das gleiche noch mit nur einer Riesendatei anstatt mehreren.</p>
<p>Nach meinem Verständnis der Hardware ist es kontraproduktiv, zwei Dateien gleichzeitig einzulesen, aber sicher bin ich mir da nicht. Wäre nett, wenn jemand ein paar grundlegende Äusserungen dazu machen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/316744/bringt-paralleles-einlesen-schreiben-mehrerer-dateien-etwas</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 22:29:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/316744.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 May 2013 20:02:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bringt paralleles Einlesen&#x2F;Schreiben mehrerer Dateien etwas? on Tue, 14 May 2013 20:02:45 GMT]]></title><description><![CDATA[<p>Ich frage mich immer wieder, wie gut I/O auf Festplatten parallelisierbar ist und habe keine befriedigenden Antworten im Internet gefunden. Folgende Szenarien:</p>
<ul>
<li>Will mehrere Dateien parsen und im RAM speichern</li>
<li>Will mehrere Dateien einlesen, leicht ändern (nur lokal, brauche wenig Buffer) und direkt wieder rausschreiben</li>
<li>Habe Ergebnisse, will mehrere Dateien rausschreiben</li>
</ul>
<p>Und das gleiche noch mit nur einer Riesendatei anstatt mehreren.</p>
<p>Nach meinem Verständnis der Hardware ist es kontraproduktiv, zwei Dateien gleichzeitig einzulesen, aber sicher bin ich mir da nicht. Wäre nett, wenn jemand ein paar grundlegende Äusserungen dazu machen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323366</guid><dc:creator><![CDATA[paralles io]]></dc:creator><pubDate>Tue, 14 May 2013 20:02:45 GMT</pubDate></item><item><title><![CDATA[Reply to Bringt paralleles Einlesen&#x2F;Schreiben mehrerer Dateien etwas? on Tue, 14 May 2013 20:17:05 GMT]]></title><description><![CDATA[<p>Wenn beim Parsen mehr als nur triviale Verarbeitung ist, dann mach trotzdem NOCH nicht parallel, der Schreib-Lese-Kamm fühlt sich total verarscht. Wenn die allermeisten Kunden SSDs haben, dann mach.<br />
Und beim Schreiben ist es komplett egal, man schreibt ja erst in den einige GB großen Schreibcache und das BS sortiert es schon rum, also spar Dir die Mühe.</p>
<p>Ich bestätige Dein Verständnis von Hardware.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323374</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323374</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 14 May 2013 20:17:05 GMT</pubDate></item><item><title><![CDATA[Reply to Bringt paralleles Einlesen&#x2F;Schreiben mehrerer Dateien etwas? on Tue, 14 May 2013 20:18:37 GMT]]></title><description><![CDATA[<p>Lineares Lesen/Schreiben ist am schnellsten.<br />
Wenn du wenige grosse Files hat, liest bzw. schreibst du die also am Besten eine nach dem anderen.</p>
<p>Wenn du dagegen viele kleine Files hast, kann es was bringen die parallel zu lesen bzw. schreiben.<br />
Dann hat nämlich dein OS, bzw. auch der Controller der Platte mehrere offene IOs &quot;ausständig&quot;, und kann gucken welches die beste Reihenfolge ist die auszuführen.</p>
<p>Angenommen die IOs lesen die Sektoren 100, 10100, 200, 10200, 300 und 10300. Dann ist es viel schneller wenn die Platte das in der Reihenfolge 100, 200, 300, 10100, 10200, 10300 macht, als in der zuerst genannten.<br />
Das kann sie natürlich nur wenn das Programm alle IOs startet bevor es auf die Beendigung des ersten wartet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323376</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 14 May 2013 20:18:37 GMT</pubDate></item><item><title><![CDATA[Reply to Bringt paralleles Einlesen&#x2F;Schreiben mehrerer Dateien etwas? on Tue, 14 May 2013 20:45:25 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/106">@volkard</a> &amp; hustbaer: Danke, das leuchtet ein.</p>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Dann hat nämlich dein OS, bzw. auch der Controller der Platte mehrere offene IOs &quot;ausständig&quot;, und kann gucken welches die beste Reihenfolge ist die auszuführen.</p>
</blockquote>
<p>Das erstaunt mich, hat das OS tatsächlich so viel Suveränität? Das würde ja heissen, ein einzelnes read kann Millisekunden dauern, weil andere Threads/Prozesse (sind die hier gleichwertig?) bevorzugt werden.</p>
<p>Und noch eine Vermutung zum bestätigen: Wenn ich eine Datei sequentiell lese, merkt das OS das und liest im Hintergrund weiter?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323386</guid><dc:creator><![CDATA[paralles io]]></dc:creator><pubDate>Tue, 14 May 2013 20:45:25 GMT</pubDate></item><item><title><![CDATA[Reply to Bringt paralleles Einlesen&#x2F;Schreiben mehrerer Dateien etwas? on Tue, 14 May 2013 20:48:39 GMT]]></title><description><![CDATA[<p>paralles io schrieb:</p>
<blockquote>
<p>Wenn ich eine Datei sequentiell lese, merkt das OS das und liest im Hintergrund weiter?</p>
</blockquote>
<p>Ja. Es liest vorsichtigerweise im Voraus, obwohl Du nicht angefragt hast.<br />
Unter WinXP war das glaube ich 2MB als Default-Einstellung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323387</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 14 May 2013 20:48:39 GMT</pubDate></item><item><title><![CDATA[Reply to Bringt paralleles Einlesen&#x2F;Schreiben mehrerer Dateien etwas? on Tue, 14 May 2013 20:50:32 GMT]]></title><description><![CDATA[<p>paralles io schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Dann hat nämlich dein OS, bzw. auch der Controller der Platte mehrere offene IOs &quot;ausständig&quot;, und kann gucken welches die beste Reihenfolge ist die auszuführen.</p>
</blockquote>
<p>Das erstaunt mich, hat das OS tatsächlich so viel Suveränität? Das würde ja heissen, ein einzelnes read kann Millisekunden dauern, weil andere Threads/Prozesse (sind die hier gleichwertig?) bevorzugt werden.</p>
</blockquote>
<p>Das würde mich auch erstaunen. Also ich vermute nicht, daß das OS so souverän ist.<br />
Aber die Platte mit NCQ ist es!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323388</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 14 May 2013 20:50:32 GMT</pubDate></item><item><title><![CDATA[Reply to Bringt paralleles Einlesen&#x2F;Schreiben mehrerer Dateien etwas? on Tue, 14 May 2013 20:59:23 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>paralles io schrieb:</p>
<blockquote>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Dann hat nämlich dein OS, bzw. auch der Controller der Platte mehrere offene IOs &quot;ausständig&quot;, und kann gucken welches die beste Reihenfolge ist die auszuführen.</p>
</blockquote>
<p>Das erstaunt mich, hat das OS tatsächlich so viel Suveränität? Das würde ja heissen, ein einzelnes read kann Millisekunden dauern, weil andere Threads/Prozesse (sind die hier gleichwertig?) bevorzugt werden.</p>
</blockquote>
<p>Das würde mich auch erstaunen. Also ich vermute nicht, daß das OS so souverän ist.<br />
Aber die Platte mit NCQ ist es!!</p>
</blockquote>
<p>Bei NetWare 4.x hieß das 'elevator seek' und war ein offiziell beworbenes Feature.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323389</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323389</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Tue, 14 May 2013 20:59:23 GMT</pubDate></item><item><title><![CDATA[Reply to Bringt paralleles Einlesen&#x2F;Schreiben mehrerer Dateien etwas? on Wed, 15 May 2013 10:04:57 GMT]]></title><description><![CDATA[<p>Auf der Linux Mailing-Liste (Archiv) hab ich was von &quot;IO-Elevators&quot; gelesen, und dass sie da was tunen/ändern wollen wegen der SSDs.</p>
<p>Unter Windows hab' ich den Test selbst mal gemacht.<br />
Mach 1000+ Random IOs gleichzeitig und dann 1000+ Random IOs hintereinander. Unterschied in der Ausführungszeit: dramatisch.<br />
Klar könnte es die HDD gewesen sein, aber ich vermute eher dass Windows da mit die Finger im Spiel hat. Weil der Unterschied wie gesagt dramatisch war, und MS komplett irre wäre wenn sie diese Optimierungsmöglichkeit nicht nutzen würden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323481</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 15 May 2013 10:04:57 GMT</pubDate></item><item><title><![CDATA[Reply to Bringt paralleles Einlesen&#x2F;Schreiben mehrerer Dateien etwas? on Wed, 15 May 2013 12:51:38 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Unter Windows hab' ich den Test selbst mal gemacht.<br />
Mach 1000+ Random IOs gleichzeitig und dann 1000+ Random IOs hintereinander. Unterschied in der Ausführungszeit: dramatisch.</p>
</blockquote>
<p>Da muß man aber arg aufpassen, daß man nur den Elevator misst.</p>
<p>hustbaer schrieb:</p>
<blockquote>
<p>Klar könnte es die HDD gewesen sein, aber ich vermute eher dass Windows da mit die Finger im Spiel hat. Weil der Unterschied wie gesagt dramatisch war, und MS komplett irre wäre wenn sie diese Optimierungsmöglichkeit nicht nutzen würden.</p>
</blockquote>
<p>MS *ist* manchmal komplett irre.<br />
Andererseits, mehrere parallele Kurzrechner und die Daten nicht ganz im Lesecache?</p>
<p><a href="http://stackoverflow.com/questions/9191/how-to-obtain-good-concurrent-read-performance-from-disk" rel="nofollow">http://stackoverflow.com/questions/9191/how-to-obtain-good-concurrent-read-performance-from-disk</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323519</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 15 May 2013 12:51:38 GMT</pubDate></item><item><title><![CDATA[Reply to Bringt paralleles Einlesen&#x2F;Schreiben mehrerer Dateien etwas? on Wed, 15 May 2013 16:23:15 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Andererseits, mehrere parallele Kurzrechner und die Daten nicht ganz im Lesecache?</p>
</blockquote>
<p>Bahnhof <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<blockquote>
<p><a href="http://stackoverflow.com/questions/9191/how-to-obtain-good-concurrent-read-performance-from-disk" rel="nofollow">http://stackoverflow.com/questions/9191/how-to-obtain-good-concurrent-read-performance-from-disk</a></p>
</blockquote>
<p>Da stehn auch nur Vermutungen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2323592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2323592</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 15 May 2013 16:23:15 GMT</pubDate></item></channel></rss>