Dateioperation zu langsam?
-
Hallo,
möchte eine Datei laden, zeilenweise durchgehen
wenn eine 1 vorne steht die Datei die nach der 1 drinsteht öffnen
das ganze dachte ich mir rekursiv.es geht nur zu langsam für ca 83000 Dateien benötigt mein Coreduo2ghz
2,3 Minuten
Möchte es nicht mit openmp oder pthreads parallelisieren
weil ich denke es liegt an meiner Methode- hat sich erledigt -
ich löste das Problem durch nen Vector und ne Map
-
Hast du daran gedacht, dass es hier wohl hauptsächlich bei der Festplatte einen Engpass gibt?
-
wollte nur fragen ob man den Code nicht noch mhr optimieren könnte
Gruß Matthias
-
switch (first) { case 1: ins.str(line); ins >> LineType >> currentfile; first = 0; loadFileList(findFile(currentfile)); break; }Soll das ein Witz sein?
Und rücke anständig ein, so will man sich das Lesen des Codes nicht wirklich antun. Und musst du unbedingt alle Variablen zu Beginn des Blockes deklarieren?
Zwei Ansätze zur Optimierung: Parameter als (Const-)Referenzen übergeben und Rekursion durch Iteration ersetzen.