Schnelligkeit von read vs. dim

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

lastking

Betreff: Schnelligkeit von read vs. dim

BeitragDi, März 02, 2010 15:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Es macht doch bestimmt mehr Sinn, Daten vor der Hauptschleife mit read in ein Array zu laden und das dann anzufragen, als wärend des Schleifendurchgangs ständig restore/read zu benutzen oder?

Es handelt sich um ein paar mehr Werte, könnte sein das es weit über 100-1000 werden...

lg

Nicdel

BeitragDi, März 02, 2010 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, sollte sehr viel schneller sein.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Thunder

BeitragDi, März 02, 2010 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Es kommt darauf an, ob du die Werte nachher auch noch speichern willst. Wenn ja, dann nimm das Dim-Feld, aber ein Zugriff auf das Dim-Feld ist langsamer als auf die Variante mit Data und Restore.

Dim verwendet nämlich wahrscheinlich die Funktion malloc() oder calloc() - das ist langsam.
Data speichert die Daten direkt in der Datei, diese werden dann schon mit der EXE in den Ram geladen und müssen nicht über eine For-Schleife eingebaut werden.

Mit folgendem Code habe ich das übrigens getestet(2300 Werte - Messung der Zugriffszeit):

Code: [AUSKLAPPEN]
Local s,time,i,k,ntime
Dim array(2299)
Restore lab
For i=1 To 2300
   Read s
   array(i-1)=s
Next

Const durchlaeufe=50

time=MilliSecs()
Restore lab
For k=1 To durchlaeufe
   Restore lab
   For i=1 To 2300
      Read s
   Next
Next
ntime=MilliSecs()-time
ntime=ntime/durchlaeufe
Print "Read: "+ntime

time=MilliSecs()
For k=1 To durchlaeufe
   For i=1 To 2300
      s=array(i-1)
   Next
Next
ntime=MilliSecs()-time
ntime=ntime/durchlaeufe

Print "Dim-Feld: "+(MilliSecs()-time)
WaitKey
End




.lab


Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Noobody

BeitragDi, März 02, 2010 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Dass bei dir Read schneller ist, liegt daran, dass du die Zeit falsch misst. Beim Read-Durchlauf dividierst du ntime durch die Anzahl Durchläufe und zeigst die Variable dann an. Beim Dim-Durchlauf aber dividierst du ntime zwar durch die Anzahl Durchläufe, zeigst aber nachher nicht die Variable an, sondern (Millisecs()-time).

Ausserdem hast du beim Dim-Durchlauf eine Subtraktion drin (array(i-1)). Das macht bei vielen Durchläufen einiges aus, also lass doch die Schleife von 0 bis 2299 laufen und nimm die Subtraktion raus.

So ist Dim bei mir ca. doppelt so schnell BlitzBasic: [AUSKLAPPEN]
Dim Array( 2299 )

Restore Lab
For I = 0 To 2299
Read Array( I )
Next

Const Iterations = 5000

Local Time = MilliSecs()

For K = 1 To Iterations
Restore Lab

For I = 0 To 2299
Read S
Next
Next
Print "Read: " + ( MilliSecs() - Time )

Time=MilliSecs()
For K = 1 To Iterations
For I = 0 To 2299
S = Array( I )
Next
Next

Print "Dim-Feld: " + ( MilliSecs() - Time )

WaitKey()
End




.lab


Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47

Data 50,20,15,12,582,483,1729,183,28,1829,1,38429
Data 28,5910,1948,15028,487291,47,482,5,8,2841,47


Und so nebenbei, Arrays verwenden malloc() nur beim redimensionieren, nicht beim Auslesen Wink
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Goodjee

BeitragDi, März 02, 2010 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
und wer liest schon nen array nur von vorne bis hinten aus? was passiert, wenn du einen wert in der mitte willst? bei read brauchst du eine schleife oder viele sprungmarken, bei dims kannst du einfach direkt das richtige element adressieren
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Thunder

BeitragDi, März 02, 2010 16:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Tja, ich habe schon lange nicht mehr mit BB programmiert - tut mir leid, wegen der falschen Aussage.
Goodje hat natürlich auch Recht.

Aber Noobody: Da mit dem malloc() (bzw. calloc()) bist du dir ganz sicher? Wie sollte der Speicher für die Dim-Felder bereitgestellt werden, wenn malloc() nicht ausgeführt wird?

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Noobody

BeitragDi, März 02, 2010 17:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Thunder hat Folgendes geschrieben:
Wie sollte der Speicher für die Dim-Felder bereitgestellt werden, wenn malloc() nicht ausgeführt wird?

malloc() wird ausgeführt, nämlich jedesmal, wenn ein Array erstellt oder neu dimensioniert wird. Wenn du Dim Foo( 500 ) schreibst, wird Platz für 501 Elemente geschaffen. Dieser Platz ist immer da und muss nicht bei der Zuweisung eines Wertes neu geholt werden. Darum ist die Art, wie der Speicher des Arrays geholt wird, beim Auslesen/Schreiben komplett egal.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

lastking

BeitragDi, März 02, 2010 18:09
Antworten mit Zitat
Benutzer-Profile anzeigen
okay, vielen Dank für die Erklärungen!! Wink
Ich finds top, dass man hier so schnell Leute hat, die einem jede Frage beantworten... Very Happy

Der Aspekt von Goodjee ist natürlich ein sehr guter Grund für Dims...!
Hat ich noch garnicht drüber nachgedacht, ob ich das noch brauche. Vorerst läuft die List enämlich bei mir durch. Für eine Bilanz.

Bis denn!

Thunder

BeitragDi, März 02, 2010 18:32
Antworten mit Zitat
Benutzer-Profile anzeigen
@Noobody: Ja, aber ich war überrascht, weil du geschrieben hast, dass malloc() nur beim redimensionieren aufgerufen wird. Anscheinend habe ich dich falsch verstanden.

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Eingeproggt

BeitragDi, März 02, 2010 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Vorerst läuft die List enämlich bei mir durch. Für eine Bilanz.


Eine Bilanz von nicht-dynamschien Daten (=Data) zu machen ist aber sehr witzlos - da könntest du das Ergebnis deiner Bilanz doch auch gleich als Data ins Programm einbinden - Spart dir Rechnerei und Aufwand.

Die Rechnerei ergibt ja logischerweise nur dann Sinn wenn sich die Daten ändern können (sprich erst recht in nem Array sind - was deine erste Frage klar beantwortet).

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group