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 

Öffnen einer 250MB text-Datei



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!

06.10.2009, 10:32 (Dieser Beitrag wurde zuletzt bearbeitet: 06.10.2009 10:35 von Lucki.)
Beitrag #11

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Öffnen einer 250MB text-Datei
Es geht doch hier nicht darum, die Auswertung in maximal kurzer Zeit zu machen, sonder es geht ums Überleben, also die Machbarkeit überhaupt. Und da bietet sich doch das an:
Es sind 100*100 Raumpunkts zu berechenen. Das könnte einzeln geschehen. Die Datei wird nie als Ganzes gelesen, sondern bei der Berechnung jedes Raumpunktes werden nur genau die Informationen aus der Datei herausgelesen, die für dessen Berechnung gebraucht werden. Das erfordert allerdings eine virtuose Handhabung des Dateizeigers, und selbstverständlich sollte man aus Zeitgründen als erstes die Textdatei in ein Binärformat konvertieren. (Diese Konvertierung kann man ebenfalls so pogrammieren, das dabei nicht die ganze Textdatei und die gesamte neue Binärdatei im Memory ist).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.10.2009, 10:34 (Dieser Beitrag wurde zuletzt bearbeitet: 06.10.2009 10:36 von GerdW.)
Beitrag #12

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Öffnen einer 250MB text-Datei
Hallo differtd,

also 128*100*100*8 * 8 byte/Wert = ~80MB. Das sollte bei deiner 3GB-Maschine gut zu handhaben sein.
Du musst drauf achten, keine unnötigen Datenkopien anzulegen. Dazu gehört auch das Anzeigen des (ganzen?!) Strings, da jeder Indicator seine eigene Datenkopie anlegt!

Wenn die Zahlen nur mit 6 Stellen gespeichert werden, reicht auch das SGL-Format zum Weiterverarbeiten aus. Musst dann aber beachten, das etliche mathematische Funktionen nur auf DBL-Werte ausgelegt sind und dort wieder eine Typwandlung vorgenommen wird... (Gemeint sind Funktionen aus den Paletten mit den "komplizierteren" Sachen wie Probability&Statistics.)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.10.2009, 10:48
Beitrag #13

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Öffnen einer 250MB text-Datei
@differtd:
Da es langsam in den ganzen Vorschlägen unterzugehen scheint, schon mal meinen Vorschlag nachprogrammiert?
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=82336

Ansonsten, stimme GerdW zu, selbst wenn du alle 14 Zahlen pro Raumpunkt (?) brauchst, lande ich bei DBL bei 143 MB, das ist machbar.
Wichtig hierbei ist eine geschickte Speicherverwaltung, also nicht den gesamten String einlesen (s.o.), sondern zeilen- oder blockweise, und - ganz wichtig - am besten dein Zahlen-Array, in das du die Daten schiebst, in der korrekten Größe vorinitialisieren. Dann mit Replace-Array-Subset arbeiten (s.o.)! Build-Array Operationen nach Möglichkeit bei diesen Datenmengen vermeiden.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.10.2009, 13:41
Beitrag #14

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Öffnen einer 250MB text-Datei
Habe mal ein Vi erstellt, in dem gezeigt wird, wie man, ausgehend von den Daten im Binärformat, auf jedes einzelne Element, oder auch auf eine einzelne Zeile oder einen gewissen Datenbereich, zugreifen kann, genau so als wären die Daten im Memory. Man kann also alle Berechnungen, Auswertungen, Darstellungen usw. machen, ohne dass sich jemals mehr als wenige Elemente der grossen Datei im Memory befinden. Nach meiner Meinung dürfte sich das Thema damit erledigt haben.

Aber eine Frage habe ich selbst: Ja selbst, wenn wie hier vermutet, die Memoryausstattung des benutzten PCs nicht sehr üppig ist, dann gibt es doch unter Windows immer noch die Auslagerungsdatei. Normalerweise führt der hohe Soeicherbedarf einer Anwendung doch nur dazu, daß die HD anfängt wild zu rödeln und alles langsam wird, es ist aber nicht so, daß es überhaupt nicht mehr funktioniert. Warum ist das hier anders?
   
Lv82_img
Sonstige .vi  DatGross.vi (Größe: 26,96 KB / Downloads: 201)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Automatisches erzeugen einer .txt Datei auf Basis einer anderen .txt Datei PSchenk 5 6.129 18.10.2019 16:06
Letzter Beitrag: PSchenk
  Programm mit "öffnen mit" starten und Datei übergeben haiopei 5 10.198 09.12.2015 07:45
Letzter Beitrag: TBK
  Sinus-Signalverlaufsdiagramm Daten in Text-Datei Chicooo94 36 24.112 05.07.2015 11:50
Letzter Beitrag: Chicooo94
  .tdms: mehrere Signale aus einer Datei lesen Kristin_611 4 7.214 03.02.2015 12:09
Letzter Beitrag: Kristin_611
  Kontinuierliches einlesen aus einer .csv Excel Datei Chris_89 1 4.993 01.12.2014 07:59
Letzter Beitrag: RMR
Question NUR Eigenschaften einer TDMS Datei lesen Lucky 1 4.707 24.11.2014 10:12
Letzter Beitrag: macmarvin

Gehe zu: