Aber bei TextFile wirds doch auch char weise gelesen, TFileStream ist schick aber für einfach Aufgaben ist es einfach overkill. Man kann sich sichertlich auch eine TString Klasse schreiben analog zur CString Klasse in C++ aber warum will ich die Nutzern wenn es ein sprachinternes Feature wie string gibt, das zig mal schneller ist da der Compiler es ordentlich optimieren kann.Ja, das glaube ich sofort. Das ist aber alles eine Frage des Puffers.
Wer mit TFileStream Daten Byte bzw Char-weise einliest braucht sich nicht wundern, wenn's langsam ist.
Dass es nicht prinzipiell am TFileStream liegt, beweisen ja auch die Ergebnisse von TFileStream / TReader.
Dateiformat (erstellen, speichern, laden)
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Christian hat geschrieben: Aber bei TextFile wirds doch auch char weise gelesen,
Nö, In deinem Beispiel-Link jedenfalls nicht: http://delphi.pjh2.de/articles/files/files.php" onclick="window.open(this.href);return false;
man sollte jedoch beim Erzeugen einen großen Puffer anlegen.
Christian hat geschrieben: TFileStream ist schick aber für einfach Aufgaben ist es einfach overkill.
Warum?
Da sehe ich keinen Zusammenhang mit TFileStream.Christian hat geschrieben: Man kann sich sichertlich auch eine TString Klasse schreiben analog zur CString Klasse in C++ aber warum will ich die Nutzern wenn es ein sprachinternes Feature wie string gibt, das zig mal schneller ist da der Compiler es ordentlich optimieren kann.
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
TFilestream ist ne Klasse, File of ... ist ein natives mittel des Compilers.
Das mit dem Char weise lesen hab ich jetzt erst gesehn, das stimmt natürlich müsste man mal testen.
Das du da keinen Zusammenhang siehst tut mir leid ich habs jedoch schon dargelegt. Es hält dich ja auch niemand vom benutzen von TFileStream ab.
Das mit dem Char weise lesen hab ich jetzt erst gesehn, das stimmt natürlich müsste man mal testen.
Das du da keinen Zusammenhang siehst tut mir leid ich habs jedoch schon dargelegt. Es hält dich ja auch niemand vom benutzen von TFileStream ab.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Schon klar. Trotzdem sehe ich darin kein schlagkräftiges Argument für die Praxis.Christian hat geschrieben:TFilestream ist ne Klasse, File of ... ist ein natives mittel des Compilers.
Wir machen doch OOP, oder nicht?
Ob ich jetzt irgend ein var f:File of.. oder ein var FS:TFileStream rumschieb, macht doch keinen Unterschied. Und Memory-mässig ist das auch ziemlich gleich.
Schön, dass du das nun auch so siehst. Es sind immer schnell Gerüchte in die Welt gesetzt aufgrund von "Statistiken" die man nicht ganz durchleuchtet hat.Christian hat geschrieben: Das mit dem Char weise lesen hab ich jetzt erst gesehn, das stimmt natürlich müsste man mal testen.
Naja, ich finde die Idee einer TString Klasse nicht so erschreckend.Christian hat geschrieben: Das du da keinen Zusammenhang siehst tut mir leid ich habs jedoch schon dargelegt. Es hält dich ja auch niemand vom benutzen von TFileStream ab.
Aber im Gegensatz zu TFileStream, könnte es bei vielen "TString"-Objekten etwas in den Speicher gehen (Implementationsabhängig), während man wohl kaum zehntausende TFileStreams gleichzeitig "in Betrieb" hat.