INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Lesen großer txt ohne Laufzeiteinbußen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

23.10.2018, 19:11 (Dieser Beitrag wurde zuletzt bearbeitet: 23.10.2018 19:13 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.467
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Lesen großer txt ohne Laufzeiteinbußen
Hallo Philipp,

Zitat:Der große Haken: Die .txt Files können bis zu 200 MB (!) groß werden.
Mein Rechner fängt bereits bei bei 100MB-großen Dateien an zu haken, und das ohne die Hauptanwendung! :-(
Und was ist die logische Konsequenz dieser Beobachtung?
Einfach nicht die komplette Datei (auf einmal) einlesen!
Immer nur kleinere Teile davon einlesen…
Einfaches Beispiel:
Momentan liest du die komplette Datei ein und wandelst sie in ein 2D-Array um. Dann löscht du die ersten 3 Zeilen aus dem Array. Beides benötigt (bei deinen großen Dateien) richtig viel Speicher.
Bessere Lösung: lies doch einfach erst die ersten 3 Zeilen aus der Datei und danach mit einem zweiten ReadTextFile die nächsten Zeilen. Schon hast du dir eine resourcenfressende DeleteFromArray-Funktion gespart…

- Als "schwierig" stufe ich hier nicht die eigentliche Dateioperation ein, sondern das nachfolgende Umwandeln von Text nach 2D-DBL-Array: hier wird massiv Speicher belegt und CPU beansprucht. Hier besser mit kleineren Datenblöcken arbeiten.
- Du willst anscheinend auch die komplette Datei darstellen: 2Wochen*7Tage*1440Min*60s*1S/s~=1.2M Samples. Wie willst du >1Mio Samples in einem Graph darstellen, der nur ~1000 Pixel breit ist? Auch hier gilt: soviele Samples darzustellen, frisst einfach nur Resourcen. Daten vor der Darstelleung dezimieren!
- Wieso verwendest du nicht TDMS-Dateien? Die sind für solche Sachen auch sehr gut geeignet?
- Ich finde es auch problematisch, wenn zwei Anwendungen (oder Funktionen in einer Anwendung) parallel auf dieselbe Datei zugreifen wollen…
- Warum willst du diese riesige Datei erneut einlesen, wenn du nur ein paar Parameter (diese "Adjuster") anpassen willst???

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
RE: Lesen großer txt ohne Laufzeiteinbußen - GerdW - 23.10.2018 19:11

Gehe zu: