hallo Stefanie,
was mich wundert, daß sich die Rechenzeit offensichtlich nicht linear zur Arraygröße verhält. Bei 10 Mio Werten müßte es theoretisch 5000 mal so lange dauern, bei dir ist es aber der Faktor 10000. Möglicherweise passt das größere Array nicht in den Prozessorcache (first/second)....?!? Verwundern kann die Rechenzeit jedenfalls nicht bei 5000*10000 (=50 Mio) bzw. 10000000*10000 (=100 Milliarden) Operationen, von denen jede aus einer mehrteiligen Berechnung und Indizierung besteht.
Ich denke nicht (weiß es aber ehrlich auch nicht), daß es in einer Datenbank schneller ginge. Es sei denn, die Hardwarevoraussetzungen auf dem
DB-Server sind deutlich besser.
Was aber auf jeden Fall mein Tip ist: Das Ausschalten aller Compiler-Direktiven wie Range check bringt bei Arrays mit indiziertem Zugriff enorm viel an Geschwindigkeit -> {$R-} bzw. Projekt-Optionen/Compiler/Bereichsüberprüfung, Überlaufprüfung, Debug etc.
Roderich