Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Mal wieder: Einlesen aus Datei

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] > 3 <
020
15.06.2006, 14:56 Uhr
Pler
Einer von Vielen
(Operator)


Hm, naja jedenfalls hab ich das jetzt mal geändert zu
while(formater && !formater.eof())
while(!formater.eof())
geändert. Für mich jetzt zum Testen eh egal.
Zum Testen habe ich deinen Quellcode sonst 1:1 übernommen, daran kann es also nicht liegen.

Komischerweise braucht der selbe Quellcode unter Windows >> 1 min.
Ich geh kaputt...
Ist ne Konsolenanwendung irgendwie langsamer als ne MFC?
Naja, ich werd das mal noch ein bisschen weiter testen...

Dieser Post wurde am 15.06.2006 um 17:37 Uhr von Pler editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
15.06.2006, 17:14 Uhr
Pler
Einer von Vielen
(Operator)


OK, ich hab's!
Wenn ich im Visual Studio von Debug auf Release stelle geht's auch da ziemlich schnell!
Auch das was ich vorher schon geschrieben habe funktioniert wesentlich schneller.

Bei dem "alten" MFC-Programm, vom dem ich vorhin erzählt habe, ist das "zerpfücken" weitestgehend in Std. C geschrieben. Das war ja wie gesagt sehr schnell. (Aber eben statisch)

Fazit:
In Std. C gehts schnell.
Mit der Methode von (un)wissender auch, wenn Release eingeschaltet ist.
Auch wenn's jetzt nicht soo wichtig ist, aber kann mir einer erklären warum das so ist?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
15.06.2006, 17:33 Uhr
(un)wissender
Niveauwart


?
Du hast also while(formater && !formater.eof()) in while(formater && !formater.eof()) geändert.
Wo genau liegt die Veränderung?

Gibt mal debug vs. release bei google ein.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
15.06.2006, 17:36 Uhr
Pler
Einer von Vielen
(Operator)


Ja, du wunderst dich zu recht!

Also nochmal:
Ich habe
while(formater && !formater.eof())
zu
while(!formater.eof())
geändert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
15.06.2006, 19:06 Uhr
Pler
Einer von Vielen
(Operator)


OK, jetzt passt alles. (Ausser diese Zeile im letzten Post... )

Durch dieses hier bin ich also drauf gekommen, dass meine bestehende Lösung (die ich nachwievor für anders formatierte Dateien brauche) _wesentlich_ (> 20 fach) schneller geworden ist.
Und ausserdem habe ich für das "einfachere" Format dank euch jetzt ne Lösung die an die alte statische Std. C Lösung rankommt.

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
025
16.06.2006, 08:56 Uhr
(un)wissender
Niveauwart


while(!formater.eof()) ist aber alleine u.U. nicht korrekt.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
026
16.06.2006, 09:16 Uhr
Pler
Einer von Vielen
(Operator)


Hm... Im normalfall sollte das stimmen, oder?
Warum das im Visual Studio nicht läuft weis ich nicht, wie gesagt, ich habe den Quellcode 1:1 probiert.
Unter Linux läufts, Windows nicht. Und eigentlich ist das ja alles Standard. Ich dachte, dass vielleicht irgendwelche libs abnders Implementiert sind, konnte aber in der MSDN nichts dazu finden...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
027
16.06.2006, 11:02 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von Pler:
Hm... Im normalfall sollte das stimmen, oder?
Warum das im Visual Studio nicht läuft weis ich nicht, wie gesagt, ich habe den Quellcode 1:1 probiert.
Unter Linux läufts, Windows nicht. Und eigentlich ist das ja alles Standard. Ich dachte, dass vielleicht irgendwelche libs abnders Implementiert sind, konnte aber in der MSDN nichts dazu finden...

Mit welchem Visual Studio kommt das denn vor?
Hast du mal versucht für formater explizit operator void* aufzurufen?

Gruss Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
028
16.06.2006, 11:36 Uhr
(un)wissender
Niveauwart



Zitat von Pler:

Hm... Im normalfall sollte das stimmen, oder?



So zu programmieren ist der anfang vom Ende. Wenn die Datei nicht genau deinen Spezifikationen entspricht, wird Müll eingelesen, wenn du nicht auf formater achtest.Alternativ kannst du auch auf formater.fail() und formater.bad() vergleichen.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: