<?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[Geschwindigkeit verbessern]]></title><description><![CDATA[<p>Hallo liebe Community,</p>
<p>hätte mal eine Frage und zwar habe ich mir ein Programm geschrieben, welches die Anzahl der Zeilen einer formatierten Datei herausgibt und die Zeit misst.<br />
Leider ist mein Programm bei sehr großen bspw CSV FIles viel zu langsam<br />
SItze schon seit Tagen daran und komme leider nicht viel weiter.<br />
Hatte mir überlegt mit Templates zu arbeiten, was sagt ihr ?<br />
VOrweg danke für die Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>#include &lt;iostream&gt;<br />
#include &lt;chrono&gt;<br />
#include &lt;ratio&gt;<br />
#include &lt;string&gt;<br />
#include &lt;fstream&gt;</p>
<p>int main() {<br />
std::chrono::time_point<a href="std::chrono::steady%5C_clock" rel="nofollow">std::chrono::steady\_clock</a> start,<br />
stop;<br />
start = std::chrono::steady_clock::now();</p>
<p>std::string name;<br />
std::cout &lt;&lt;&quot;Datei zum Lesen oeffnen: \n&quot;;<br />
std::cin&gt;&gt; name;</p>
<p>std::string line;<br />
std::ifstream datei;<br />
datei.open(name.c_str());</p>
<p>int i =0;<br />
while(getline(datei,line))i++;</p>
<p>std::cout &lt;&lt;&quot;Lines:&quot;&lt;&lt;i&lt;&lt;&quot;\n&quot;;</p>
<p>stop = std::chrono::steady_clock::now();<br />
auto dur = stop-start;<br />
std::cout &lt;&lt; dur.count() &lt;&lt; &quot; ns&quot; &lt;&lt; std::endl;//Nanosek.<br />
std::chrono::milliseconds mil =<br />
std::chrono::duration_cast<a href="std::chrono::milliseconds" rel="nofollow">std::chrono::milliseconds</a>(dur);<br />
std::cout &lt;&lt; mil.count() &lt;&lt; &quot; Milliseconds&quot; &lt;&lt; std::endl;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/342370/geschwindigkeit-verbessern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 04:57:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/342370.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 Apr 2017 11:54:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Tue, 04 Apr 2017 11:54:17 GMT]]></title><description><![CDATA[<p>Hallo liebe Community,</p>
<p>hätte mal eine Frage und zwar habe ich mir ein Programm geschrieben, welches die Anzahl der Zeilen einer formatierten Datei herausgibt und die Zeit misst.<br />
Leider ist mein Programm bei sehr großen bspw CSV FIles viel zu langsam<br />
SItze schon seit Tagen daran und komme leider nicht viel weiter.<br />
Hatte mir überlegt mit Templates zu arbeiten, was sagt ihr ?<br />
VOrweg danke für die Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>#include &lt;iostream&gt;<br />
#include &lt;chrono&gt;<br />
#include &lt;ratio&gt;<br />
#include &lt;string&gt;<br />
#include &lt;fstream&gt;</p>
<p>int main() {<br />
std::chrono::time_point<a href="std::chrono::steady%5C_clock" rel="nofollow">std::chrono::steady\_clock</a> start,<br />
stop;<br />
start = std::chrono::steady_clock::now();</p>
<p>std::string name;<br />
std::cout &lt;&lt;&quot;Datei zum Lesen oeffnen: \n&quot;;<br />
std::cin&gt;&gt; name;</p>
<p>std::string line;<br />
std::ifstream datei;<br />
datei.open(name.c_str());</p>
<p>int i =0;<br />
while(getline(datei,line))i++;</p>
<p>std::cout &lt;&lt;&quot;Lines:&quot;&lt;&lt;i&lt;&lt;&quot;\n&quot;;</p>
<p>stop = std::chrono::steady_clock::now();<br />
auto dur = stop-start;<br />
std::cout &lt;&lt; dur.count() &lt;&lt; &quot; ns&quot; &lt;&lt; std::endl;//Nanosek.<br />
std::chrono::milliseconds mil =<br />
std::chrono::duration_cast<a href="std::chrono::milliseconds" rel="nofollow">std::chrono::milliseconds</a>(dur);<br />
std::cout &lt;&lt; mil.count() &lt;&lt; &quot; Milliseconds&quot; &lt;&lt; std::endl;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527200</guid><dc:creator><![CDATA[Servus28]]></dc:creator><pubDate>Tue, 04 Apr 2017 11:54:17 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Tue, 04 Apr 2017 12:05:04 GMT]]></title><description><![CDATA[<p>Welches Betriebssystem?<br />
Welcher Kompiler?<br />
Debug/Release-Mode - mit/ohne Optimierung?<br />
Wie gross ist die CSV-Datei?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527201</guid><dc:creator><![CDATA[Gast3]]></dc:creator><pubDate>Tue, 04 Apr 2017 12:05:04 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Tue, 04 Apr 2017 12:09:23 GMT]]></title><description><![CDATA[<blockquote>
<p>Leider ist mein Programm bei sehr großen bspw CSV FIles viel zu langsam</p>
</blockquote>
<p>wie lange (in ms) für wie gross(in MB)?</p>
<blockquote>
<p>Hatte mir überlegt mit Templates zu arbeiten, was sagt ihr?</p>
</blockquote>
<p>In welcher Weise könntest du da Templates anwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527202</guid><dc:creator><![CDATA[Gast3]]></dc:creator><pubDate>Tue, 04 Apr 2017 12:09:23 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Tue, 04 Apr 2017 12:19:46 GMT]]></title><description><![CDATA[<p>Eine ganz wesentliche Verbesserung wäre, die Zeilen gar nicht erst zu speichern. Du machst ja sowieso nichts damit. Zähl einfach die Anzahl der Zeilenumbrüche in der Datei. Denk dran, dass die Datei eventuell nicht auf einem Zeilenumbruch endet.</p>
<p>PS: C++-Einzeiler (mit jeder Menge Templates <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ):</p>
<pre><code>auto line_count = std::count(
    std::istreambuf_iterator&lt;char&gt;(file),
    std::istreambuf_iterator&lt;char&gt;(), 
    '\n');
</code></pre>
<p>Ich wage mal die Behauptung, dass es keine wesentlich schnellere Lösung geben wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527203</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 04 Apr 2017 12:19:46 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Tue, 04 Apr 2017 12:58:07 GMT]]></title><description><![CDATA[<blockquote>
<p>mit jeder Menge Templates</p>
</blockquote>
<p>hättest doch bestimmt noch mehr einbauen können <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527210</guid><dc:creator><![CDATA[Gast3]]></dc:creator><pubDate>Tue, 04 Apr 2017 12:58:07 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Wed, 05 Apr 2017 13:04:36 GMT]]></title><description><![CDATA[<p>Danke Leute<br />
Mein csv File ist ca 2 GB gross und benutze Windows Code Blocks</p>
<p>Seppj, der gibt bei mir aus dass Count kein member von Std ist<br />
Was mache ich da falsch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527279</guid><dc:creator><![CDATA[Servus28]]></dc:creator><pubDate>Wed, 05 Apr 2017 13:04:36 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Wed, 05 Apr 2017 13:13:00 GMT]]></title><description><![CDATA[<pre><code>#include &lt;algorithm&gt;
</code></pre>
<p>Codeblocks mit Mingw? Soweit ich weiß ist Code Blocks doch nur eine IDE ohne festen eingebauten Compiler, oder?<br />
Die Hauptfrage die sich bei Geschwindigkeitsproblemen stellt sind erstmal die Compilerflags. (-O, -O2 o.ä.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527281</guid><dc:creator><![CDATA[Schlangenmensch]]></dc:creator><pubDate>Wed, 05 Apr 2017 13:13:00 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Wed, 05 Apr 2017 13:13:41 GMT]]></title><description><![CDATA[<p>Entweder hast du es auch mit einem grossen &quot;C&quot; geschrieben, was schlicht falsch ist, oder du hast vergessen den <code>algorithm</code> Header zu inkludieren.</p>
<p>Doku: <a href="http://en.cppreference.com/w/cpp/algorithm/count" rel="nofollow">http://en.cppreference.com/w/cpp/algorithm/count</a></p>
<p>Edit: Und vielleicht hast du ja auch <code>std</code> mit einem grossen &quot;S&quot; geschrieben - ebenfalls falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527282</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 05 Apr 2017 13:13:41 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Wed, 05 Apr 2017 13:50:06 GMT]]></title><description><![CDATA[<p>Oh hatte algorithm vergessen<br />
Peinlich haha<br />
Ist echt schneller , danke</p>
<p>Leute noch eine frage und zwar soll ich eine Schnittstelle programmieren s.d.<br />
Man mit programmiersprache r mein code über Shell Fenster ansteuern kann<br />
Weiss da jemand mehr ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527285</guid><dc:creator><![CDATA[Servus28]]></dc:creator><pubDate>Wed, 05 Apr 2017 13:50:06 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Wed, 05 Apr 2017 14:17:24 GMT]]></title><description><![CDATA[<p>Servus28 schrieb:</p>
<blockquote>
<p>Leute noch eine frage und zwar soll ich eine Schnittstelle programmieren s.d.<br />
Man mit programmiersprache r mein code über Shell Fenster ansteuern kann<br />
Weiss da jemand mehr ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Unverständlich. Bitte noch einmal versuchen, mit Fokus auf Grammatik und Kontext.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527286</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 05 Apr 2017 14:17:24 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Wed, 12 Apr 2017 13:35:10 GMT]]></title><description><![CDATA[<p>Und zwar will ich mein Code schneller machen lassen.<br />
Den bei sehr großen CSV Dateien, dauert es zu lange.<br />
Hab gelesen, dass das Blockweise einlesen der Datei, Performance verspricht<br />
leider hänge ich auch daran <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527966</guid><dc:creator><![CDATA[Servus28]]></dc:creator><pubDate>Wed, 12 Apr 2017 13:35:10 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Wed, 12 Apr 2017 14:03:09 GMT]]></title><description><![CDATA[<blockquote>
<p>Leute noch eine frage und zwar soll ich eine Schnittstelle programmieren s.d.<br />
Man mit programmiersprache r mein code über Shell Fenster ansteuern kann</p>
</blockquote>
<p>dafür bitte einen neuen Post erstellen - nicht einfach mitten drinn mit was neuem anfangen</p>
<blockquote>
<p>Und zwar will ich mein Code schneller machen lassen.<br />
Den bei sehr großen CSV Dateien, dauert es zu lange.<br />
Hab gelesen, dass das Blockweise einlesen der Datei, Performance verspricht</p>
</blockquote>
<p>Code?</p>
<blockquote>
<p>leider hänge ich auch daran</p>
</blockquote>
<p>in der 1. Zeile oder was ist dein Problem</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527970</guid><dc:creator><![CDATA[Gast3]]></dc:creator><pubDate>Wed, 12 Apr 2017 14:03:09 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Wed, 12 Apr 2017 16:56:09 GMT]]></title><description><![CDATA[<p>#include &lt;iostream&gt;&gt;<br />
#include &lt;string&gt;<br />
#include &lt;fstream&gt;</p>
<p>int main() {</p>
<p>std::string name;<br />
std::cout &lt;&lt;&quot;Datei zum Lesen oeffnen: \n&quot;;<br />
std::cin&gt;&gt; name;</p>
<p>std::string line;<br />
std::ifstream datei;<br />
datei.open(name.c_str());</p>
<p>int i =0;<br />
while(getline(datei,line))i++;</p>
<p>std::cout &lt;&lt;&quot;Lines:&quot;&lt;&lt;i&lt;&lt;&quot;\n&quot;;</p>
<p>}</p>
<p>damit ist gemeint, dass ich es nicht hinkriege<br />
die Datei binär einzulesen und die einfach die Zeilenumbrüche zu zählen.<br />
Somit wäre es schneller als mit while(getline(..))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527985</guid><dc:creator><![CDATA[Servus28]]></dc:creator><pubDate>Wed, 12 Apr 2017 16:56:09 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Wed, 12 Apr 2017 17:12:36 GMT]]></title><description><![CDATA[<p>Servus28 schrieb:</p>
<blockquote>
<p>die Datei binär einzulesen und die einfach die Zeilenumbrüche zu zählen.Somit wäre es schneller als mit while(getline(..))</p>
</blockquote>
<p>Dachte SeppJ hat dir das schon irgendwo gezeigt.<br />
Aus Interesse würde ich mich daran mal versuchen wollen. Kannst du einen Aufbau deiner Datei posten? Sagen wir mal die ersten 10 Zeilen. Und was willst du mit den Daten am Ende machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527988</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Wed, 12 Apr 2017 17:12:36 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Wed, 12 Apr 2017 21:08:57 GMT]]></title><description><![CDATA[<p>Hab es auch leider nicht so hinbekommen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Hey danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> , sehr lieb von dir</p>
<p>21221.121,312,1211.121212,3131,12122das<br />
121.1,121223.122,3312221,de212,11111<br />
12,331,deas22,2112212.5774,134664<br />
87655,1313444,1331.313,55fd,453132<br />
2424,2444.2318,4242frf,6777,1111<br />
121.1,121223.122,3312221,de212,11111<br />
12,331,deas22,2112212.5774,134664<br />
87655,1313444,1331.313,55fd,453132<br />
2424,2444.2318,4242frf,6777,1111<br />
65433.2424442424,devvf331,6664,33,1<br />
.......<br />
.....</p>
<p>hat circa 5004312 Zeilen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527996</guid><dc:creator><![CDATA[Servus28]]></dc:creator><pubDate>Wed, 12 Apr 2017 21:08:57 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Wed, 12 Apr 2017 21:10:26 GMT]]></title><description><![CDATA[<pre><code>cout &lt;&lt; &quot;5004312&quot;;
</code></pre>
<p>Schneller geht's nicht..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2527997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2527997</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 12 Apr 2017 21:10:26 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Thu, 13 Apr 2017 04:58:26 GMT]]></title><description><![CDATA[<blockquote>
<p>Oh hatte algorithm vergessen<br />
Peinlich haha<br />
Ist echt schneller , danke</p>
</blockquote>
<blockquote>
<p>Hab es auch leider nicht so hinbekommen</p>
</blockquote>
<p>ich dachte es wäre jetzt schon schneller - nicht genug<br />
oder was hast du nicht hinbekommen?</p>
<p>und das fast gleiche Beispiel vom Anfang einfach noch mal zu posten ist<br />
ist auch schon grenzwertig</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528007</guid><dc:creator><![CDATA[Gast3]]></dc:creator><pubDate>Thu, 13 Apr 2017 04:58:26 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Thu, 13 Apr 2017 06:40:40 GMT]]></title><description><![CDATA[<p>Servus28 schrieb:</p>
<blockquote>
<p>Oh hatte algorithm vergessen<br />
Peinlich haha<br />
Ist echt schneller , danke</p>
</blockquote>
<p>Wie lange braucht das denn mit SeppJs Ansatz? Wie schnell stellst du dir das vor, sollte es sein?<br />
Ich stelle auch nochmal die Frage nach den Compiler Flags?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528008</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528008</guid><dc:creator><![CDATA[Schlangenmensch]]></dc:creator><pubDate>Thu, 13 Apr 2017 06:40:40 GMT</pubDate></item><item><title><![CDATA[Reply to Geschwindigkeit verbessern on Thu, 13 Apr 2017 07:54:42 GMT]]></title><description><![CDATA[<p>Schlangenmensch schrieb:</p>
<blockquote>
<p>Wie lange braucht das denn mit SeppJs Ansatz? Wie schnell stellst du dir das vor, sollte es sein?</p>
</blockquote>
<p>Ich bezweifle, dass er meine Lösung überhaupt ausprobiert hat. Dazu wäre ein Minimum an Eigeninitiative nötig gewesen, da ich kein <code>int main</code> und andere Selbstverständlichkeiten davor geschrieben habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2528012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2528012</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 13 Apr 2017 07:54:42 GMT</pubDate></item></channel></rss>