konvertieren würde ich gerne wissen, wie (wenn es möglich ist) könnte ich eine Java-Klasse programmieren, um einen Datenlayout Array of Class
, zum Beispiel mit:Wie automatisch von Array der Klassen Klasse von Arrays
public class X{
double a;
double b;
double c;
}
public X array_of_x[SIZE] = new X [SIZE];
aber
public class X{
double a[] = new double [SIZE];
double b[] = new double [SIZE];
double c[] = new double [SIZE];
}
public X class_x = new X();
Mein Ziel ist es, dass der Programmierer in einer intuitiven Art wie die erste programmierter könnte, aber interne ich würde Transformationen tun so könnten die Daten sein: intern würden die Datenspeicher als Layout Class of Arrays
so sein kontinuierlich in der Erinnerung, und ich würde Mehr Leistung erreichen.
Gibt es eine Möglichkeit, dies zu tun, so dass es jede Klasse mit dem ersten Typ von Struktur akzeptieren und in der Lage sein würde, es in den zweiten Ansatz zu konvertieren? (oder ist ein Werkzeug, das diese Art von Transformation durchführen kann).
Ich mache das viel, aber immer mit der Hand. Es wäre interessant zu hören, was die anderen sagen. (+1) – NPE
Es gibt keine Möglichkeit, dies zu tun, aber warum, glauben Sie, wird es in einem Maße schneller sein, das sich auf die Leistung auswirkt? –
@MiserableVariable: Bessere Lokalität der Referenz und kompaktere Darstellung. Ich habe diese Art von Zeug ziemlich viel profiliert, und in vielen Fällen gibt es keinen Wettbewerb. – NPE