des war eigentlich nur mal schnell so runtergetipselt ... also nicht über STIL schimpen :-)
[highlight=vbnet]
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim timer1 As New Stopwatch
Dim i As Integer
Dim Anzahl As Long = 11000000
Dim testArr(Anzahl + 1) As Double
Dim testAL As New List(Of Double)
Dim testALL As New ArrayList
timer1.Start()
For i = 1 To Anzahl
testArr(i) = i
Next
timer1.Stop()
ListBox1.Items.Add("testArray ADD : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
Console.WriteLine("testArray ADD : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
timer1.Reset()
timer1.Start()
For i = 1 To Anzahl
testAL.Add(i)
Next
timer1.Stop()
ListBox1.Items.Add("testArrayListOF( ADD : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
Console.WriteLine("testArrayListOF( ADD : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
timer1.Reset()
timer1.Start()
For i = 1 To Anzahl
testALL.Add(i)
Next
timer1.Stop()
ListBox1.Items.Add("testArrayList ADD : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
Console.WriteLine("testArrayList ADD : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
timer1.Reset()
'=============
Dim dbl As Double
timer1.Start()
For i = 1 To Anzahl
dbl = testArr(i)
Next
timer1.Stop()
ListBox1.Items.Add("testArray Get : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
Console.WriteLine("testArray Get : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
timer1.Reset()
timer1.Start()
For i = 1 To Anzahl - 1
dbl = testAL(i)
Next
timer1.Stop()
ListBox1.Items.Add("testAList Get : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
Console.WriteLine("testAList Get : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
timer1.Reset()
timer1.Start()
For i = 1 To Anzahl - 1
dbl = testALL(i)
Next
timer1.Stop()
ListBox1.Items.Add("testArrayList Get : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
Console.WriteLine("testArrayList Get : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
timer1.Reset()
End Sub
[/highlight]
zu gunsten der "beidenLIST" spricht jedoch ... dass wenn
der Sieger "Array" mit REDIM erweitert werden wüüüürde
... ich warte grad noch aufs ergebniss *ggg* oh man wart wart.....
... nach ca. 211710 !! durchläufen abgebroche ... > mehr als ne minute
also array is nur gut wenns bereits mit maxwerten belegt ist
bzw. ich setze ... dann immer ein redim mit (maxwerte*2) :-)
dann gehts meist auch schnell
[highlight=vbnet]
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim timer1 As New Stopwatch
Dim i As Integer
Dim Anzahl As Long = 11000000
Dim testArr(Anzahl + 1) As Double
Dim testAL As New List(Of Double)
Dim testALL As New ArrayList
timer1.Start()
For i = 1 To Anzahl
testArr(i) = i
Next
timer1.Stop()
ListBox1.Items.Add("testArray ADD : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
Console.WriteLine("testArray ADD : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
timer1.Reset()
timer1.Start()
For i = 1 To Anzahl
testAL.Add(i)
Next
timer1.Stop()
ListBox1.Items.Add("testArrayListOF( ADD : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
Console.WriteLine("testArrayListOF( ADD : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
timer1.Reset()
timer1.Start()
For i = 1 To Anzahl
testALL.Add(i)
Next
timer1.Stop()
ListBox1.Items.Add("testArrayList ADD : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
Console.WriteLine("testArrayList ADD : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
timer1.Reset()
'=============
Dim dbl As Double
timer1.Start()
For i = 1 To Anzahl
dbl = testArr(i)
Next
timer1.Stop()
ListBox1.Items.Add("testArray Get : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
Console.WriteLine("testArray Get : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
timer1.Reset()
timer1.Start()
For i = 1 To Anzahl - 1
dbl = testAL(i)
Next
timer1.Stop()
ListBox1.Items.Add("testAList Get : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
Console.WriteLine("testAList Get : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
timer1.Reset()
timer1.Start()
For i = 1 To Anzahl - 1
dbl = testALL(i)
Next
timer1.Stop()
ListBox1.Items.Add("testArrayList Get : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
Console.WriteLine("testArrayList Get : " & Anzahl & ": =" & timer1.ElapsedMilliseconds.ToString & " ms")
timer1.Reset()
End Sub
[/highlight]
zu gunsten der "beidenLIST" spricht jedoch ... dass wenn
der Sieger "Array" mit REDIM erweitert werden wüüüürde
... ich warte grad noch aufs ergebniss *ggg* oh man wart wart.....
... nach ca. 211710 !! durchläufen abgebroche ... > mehr als ne minute
also array is nur gut wenns bereits mit maxwerten belegt ist
bzw. ich setze ... dann immer ein redim mit (maxwerte*2) :-)
dann gehts meist auch schnell
Comment