Hallo Tom,
Ein Array mit 990 Datensätzen mittels ksort() zu sortieren,
dauert ca. 0,01sec. Das Einlesen aus dem File, Deserialisieren
und Filtern dauert ca. 0,10 Sec.Schöne Zahlen. Ohne jegliche Aussagekraft.
Wie könnten wir die Aussagekraft denn steigern?
Indem du von konkreten Zahlen weg gehst und eine Aufwandsanalyse
machst. Was fuer ein Aufwand ist es, einen Datensatz zu lesen? Was
fuer einer, einen zu schreiben? Was fuer einer, einen Datensatz zu
aendern?
Fuer eine Aufwands-Analyse wird geprueft, wieviele Schritte notwendig
sind, um eine Operation auszufuehren. So waere es z. B. interessant
zu wissen, was fuer einen Algorithmus ksort() zum sortieren nutzt.
Bei einem Quicksort-Algorithmus waere der Aufwand z. B. im
guenstigsten Fall O(N long N), im unguenstigsten Fall (im Fall einer
umgekehrten Sortierung der Daten) waere er allerdings O(N^2).
Der Vorteil dieser Form der Aufwands-Analyse ist, dass die
Einschaetzung der Komplexitaet des Algorithmus vollstaendig
unabhaengig von der Rechenkapazitaet ist. Mit Kenntnis der genauen
Implementation des Algorithmus und der verwendeten Hardware kann
dann notfalls genau die Laufzeit eines Algorithmus ausgerechnet
werden.
Insbesondere, wie könnte man einen ernstzunehmenden
Performance-Check machen, um festzustellen, ob zb. Ein Forum
mit ungefähr 1/10 des Besucheraufkommens vom SelfForum damit
betrieben werden kann, ohne die Archivsuche, die braucht ja
wirklich Power?
Da wuerde ich schlicht Benchmarks machen. ab ist z. B. ein nettes
Tool dafuer.
Grüße,
CK