Wenn Sie nicht viel wirklich komplizierte Sachen tun, würde ich mich wundern, wie Sie bemerken, dass Ihre CPU für eine merkliche Zeitspanne knirscht nur 1000 Reihen zu drehen. Sie können in einem sehr kurzen Zeitraum ernsthafte Arbeit an einem modernen Server leisten, solange sich die Daten bereits im Speicher befinden (was sich in Ihrem Fall anhört).
Tun Sie Dinge wie immer wieder über die Elemente iterieren (dh. Verschachtelte Schleifen), wenn ein Wörterbuch verwenden würde besser funktionieren? Sehen Sie sich genau an, was Sie tun und überlegen Sie, wie oft jede Codezeile tatsächlich ausgeführt wird.
auf etwa 500.000 Objekte Einige Code, den ich auf der letzten Woche gearbeitet hatte eine Reihe von komplexen Sicherheitsregeln zu bewerten. Der Endcode dauerte ungefähr 3,5 Minuten zum Ausführen - 2 Minuten zum Laden von der Datenbank, 10 Sekunden zum Verarbeiten und 1 Minute 20 Sekunden zum Schreiben der Ergebnisse in die Ergebnisdatei. Sobald Sie alles im Speicher haben, können Sie überraschend schnell Daten abrufen, wenn Sie sicherstellen, dass Sie die Daten nicht öfter als nötig durchlaufen.
Da Ihre CPU vollständig geladen ist, kann das einzige, was Sie tun, ist der Algorithmus (und Code) optimieren Sie tun lokalen verwandeln - aber bedenken Sie, dass, wenn Ihr Programm ist vollständig gebunden cpu es genau sein könnte tun, was Sie es tun wollen .... –