Thread MySQL Benchmark (29 answers)
Opened by paddy at 2009-11-23 23:03

pq
 2009-11-24 17:02
#128560 #128560
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
2009-11-24T15:50:41 sid burn
Quote
In HTC gibt es z.B. jede Menge stellen, in denen ich zugunsten der Schnelligkeit auf die Lesbarkeit verzichtet habe, aber das ist ok, weil es interner Code ist, der so oft ausgeführt wird und im Vergleich dazu selten angefasst werden muss. Das muss man immer abwägen, und ein isolierter Benchmark gibt einem eine Idee davon, ob es überhaupt lohnt.

Ein Benchmark gibt dir gar keine Idee davon ob es was gebracht hat oder nicht. Wenn deine Optimierte stelle jetzt zwar 50% schneller ist von 5ms auf 2.5ms aber die Stelle nur alle jubell jahre einmal aufgerufen wurde und 0.0000001% der gesammten Laufzeit ausgemacht hat dann hat deine Optimierung absolut nix gebracht. Ausser Zeitverschwendung.

ähm, lies bitte, was ich schrieb. zuerst profilen, um zu gucken, wo die schwachstellen sind. natürlich kümmert mich eine funktion weniger, die selten augerufen wird, als eine, die oft aufgerufen wird. genau das schrieb ich doch. und das zeit einem der profiler. und mit ein bisschen gespür für die applikation weiss ich manchmal auch vorher.
und durch isolation kann ich gezielt benchmarken und optimieren und dann später erneut profilen. zumindest habe ich das so gemacht und war bisher damit erfolgreich.
wozu immer die komplette applikation profilen, wenn ich eben gezielt eine bestimmte stelle optimieren will? du darfst mir unterstellen, dass ich beim benchmarken durchaus darauf achte, dass der benchmark nicht realitätsfern ist und ich genau das teste, was auch real vorkommen würde.

du redest immer noch davon, dass das alles sinnlos ist, indem du sagst, man könne mit benchmarks keine realen situationen testen. doch, das kann man. wenn du meinst, ich hätte meine zeit verschwendet, dann zeig mir mal, wie du HTC schneller machst.

ich würde dir ja zustimmen, wenn du sagen würdest, dass es viele benchmarks gibt, die sinnlos sind, weil die leute sie falsch angewendet haben. z.b. testen leute auf eine funktion, die arrays bhandelt und testen diese mit riesigen inhalten, wobei aber in der realität die arrays so klein sind, dass man gar nichts spart (oder sogar noch drauflegt).
das ändert aber nichts daran, dass man bei der richtigen anwendung wichtige erkenntnisse erlangen kann, die man auch bei anderen applikationen nutzen kann.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread MySQL Benchmark