Array oder Datei

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

AMY

Betreff: Array oder Datei

BeitragSa, Aug 25, 2007 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Mal ne Frage. Ich habe sehr grosse mengen an daten auszulesen und das wieder und wieder. Ist es schneller erst alles in ein Array zu lesen und von dort aus die daten auszuwerten oder sollte ich während des Programmablaufs die dateien öffnen, auswerten und wieder schließen? Wie schnell und wie viel Arbeitsspeicher würden beide varianten verbrauchen? Als oich meine wovon hängt das genau ab?
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read!
 

Dreamora

BeitragSa, Aug 25, 2007 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hängt von der Menge der Daten ab.

500kb ist nicht viel Daten zb

50MB hingegen wären viel



In beiden Fällen würde ich jedoch von beiden Ideen abraten die du hast.
Speicher die Daten intelligent (blockweise mit blöcken fixer grösser, nicht mit lines oder so nem quatsch), so das du indexiert darauf zugreifen kannst (-> "lade mir block 17"), dann kannst du die file nämlich offen lassen und fröhlich vor und zurück springen und dir die daten holen die du brauchst.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

ToeB

BeitragSa, Aug 25, 2007 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würd das mit Arrays machen (Also dann die Externen Dateien darein lesen) weil wenn du z.b. dann in der Schleife das immer wieda offnest, liest und schließt, ist das viel langsamer als wenn du das einmal machst.

mdf Crack93
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Abrexxes

BeitragSa, Aug 25, 2007 13:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Array arbeitet so schnell wie der Arbeitsspeicher. Das auslesen nur so schnell wie die Festplatte. Das sollte als Antwort schon reichen. Wink

Natürlich geht auch das auslesen auf heutiger Hardware sehr schnell, du solltest es aber keinesfalls mitten in einer Aktion machen (Level), ein kurzer stocken bis zu kräftigem ruckeln auf älteren PCs (PII und co) wäre die Folge.

Wenn das auslesen also zb während des laden eines Levels geschiet ist es kein Thema, als Echtzeit Swapper ist es aber ungeeigent. Die Zeiten kannst du im Datenblatt deiner Festplatte nachlesen (Zugriffszeit).

cu

AMY

BeitragSa, Aug 25, 2007 14:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank für eure Antworten werde es dann mal mit nen Araay versuchen. Ich glaube die Hardware macht bei mir schon ganz gut mit denn ich habe DDR2-800 Speicher und eine SATAII Festplatte.
Und ich meinte verdammt viel Daten so um die 300MB, die Aber Später noch optimiert un komprimiert werden so das der Release trotzdem nur bei ca 4MB liegt. Dauert ja außerdem nur beim ersten Kompilieren so lange, bei allen anderen mit dem fertigen Release dürfte es nur ein paar Sekunden dauern.
Projekte: www.amyscbi.de
I never comment my sourcecode. What's HARD to write must be HARD to read!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group