Hallo,
Ähm, ja… ist mit Matlab programmiert worden.
Ich dachte das würde auf C++ basieren.
Die Programmiersprache zumindest nicht.
Die offensichtliche Optimierung ist dann, das ganze stattdessen in C oder C++ zu machen, das ist einfach ein bisschen schneller.
Ich habe mal sowas ähnliches als Beispiel in C geschrieben, das 2 Mio Arrayelemete zufällig füllt und dann die Nullstellen zählt:
#include
#include
int main(int argc, char\*\* argv){
int size = 2000000;
signed char \*v = malloc(sizeof(char) \* size);
srand(0);
/\* initialisiere mit zufällligen Daten \*/
for (int i = 0; i 0))){
z++;
}
}
printf("Habe %d Nullstellen gefunden\n", z);
return 0;
}
Das habe ich ohne Optimierungen kompiliert, und das hat auf meinem Rechner unter 0.1 Sekunden gebraucht auszuführen.
Ich habe schon früher schlechte Erfahrungen mit der Performance von Matlab-Programmen bei großen Datensätzen gemacht. Durch das neuschreiben in C hat sich die Laufzeit eines Programms von über 45min auf unter 2min verbessert.
Ich habe auch mal gelesen, dass es eine Option gibt, matlab-Code nach C zu kompilieren - vielleicht hilft dir das auch weiter.
Soltlest du matlab-spezifische Fragen haben, stelle sie bitte im Brett „Javascript und Scriptsprachen allgemein“.
Grüße,
Moritz