Hallo,
ich soll ein Programm schreiben in dem ich die These, dass Vektor- und Matrizenberechnung in Java langsam und nicht sinnvoll ist, beweisen.
Ich soll ein Vektor beliebiger Größe mit einem Array darzustellen und einen in dem die Werte in Objekt-Atribute gespeichert sind. Soweit alles klar.
Jetzt soll ich aber das gleiche mit Matrizen machen einmal mit einem Mehrdimensionalen-Array und einmal mit einem eindimensionalen Array + die Anzahl der Spalten als Atribut.
(
e00 e01 e02
e10 e11 e12
e20 e21 e22 )
Zum Schluss soll ich eine Zeitmessung durchführen.
Leider benötigt die "Effizientere" Methode B (mit einem Array) in etwa 80% der Fälle mehr Zeit.
Kann es also sein, dass mehrdimensionale Arrays doch schneller sind, als dass ich immer schaue wann der nächste Zeilenumbruch sein muss?
[EDIT]Beispiel Ausgaben:
[/EDIT]
ich soll ein Programm schreiben in dem ich die These, dass Vektor- und Matrizenberechnung in Java langsam und nicht sinnvoll ist, beweisen.
Ich soll ein Vektor beliebiger Größe mit einem Array darzustellen und einen in dem die Werte in Objekt-Atribute gespeichert sind. Soweit alles klar.
Jetzt soll ich aber das gleiche mit Matrizen machen einmal mit einem Mehrdimensionalen-Array und einmal mit einem eindimensionalen Array + die Anzahl der Spalten als Atribut.
(
e00 e01 e02
e10 e11 e12
e20 e21 e22 )
Java:
new double [] {e00,e01,e02,e10,e11,e12,e20,e21,e22}
Zum Schluss soll ich eine Zeitmessung durchführen.
Leider benötigt die "Effizientere" Methode B (mit einem Array) in etwa 80% der Fälle mehr Zeit.
Kann es also sein, dass mehrdimensionale Arrays doch schneller sind, als dass ich immer schaue wann der nächste Zeilenumbruch sein muss?
[EDIT]Beispiel Ausgaben:
Code:
Vektor v1 5866
Vektor v2 2444
[14.0, 32.0, 50.0]
Matrix v1 27864
[6.0, 6.0, 6.0]
Matrix v1 44484
Vektor v1 5377
Vektor v2 1955
[14.0, 32.0, 50.0]
Matrix v1 25908
[6.0, 6.0, 6.0]
Matrix v1 29331
Vektor v1 5866
Vektor v2 2933
[14.0, 32.0, 50.0]
Matrix v1 26397
[6.0, 6.0, 6.0]
Matrix v1 23465
Zuletzt bearbeitet: