Fehlermeldungen sollte ein Besucher nicht unbedingt sehen, doch manche wollen die Ausgabe nicht komplett abstellen. Man programmiert dann zwar entsprechend, so dass keine Fehlermeldungen ausgegeben werden, aber manchmal gibt es dann doch Situationen, wo Fehler auftreten können, z.B. wenn eine MySQL Verbindung fehlschlägt, weil die Daten falsch sind. In so einem Fall sollte man die Fehler unterdrücken, und dafür gibt es mehrere Möglichkeiten:
- Das @ Zeichen
- error_reporting();
Diese beiden Methoden werde ich nun auf deren Performance untersuchen, in dem ich mich mit falschen Daten versuche zu MySQL zu verbinden.
1 | @mysql_connect('localhost', 'root', ''); |
1 2 3 4 5 | $error_reporting = error_reporting(E_NONE); mysql_connect('localhost', 'root', ''); error_reporting($error_reporting); |
Getestet wird das ganze mit 10.000 Durchläufen.
Das Ergebnis sieht wie folgt aus:
Benchmark Fehlerunterdrückung
| Was? | Laufzeit in s | Verhältnis zum Schnellsten |
|---|---|---|
| error_reporting | 0.0708701610565 | 100% |
| @-Zeichen | 0.124484062195 | 175.7% |
Jetzt gibt es den Beweis, dass das @-Zeichen nicht gut ist, denn es gibt schon einen netten Geschwindigkeitsunterschied.
