Wyjątki a wydajność aplikacji
Założenie: Przeanalizujemy wpływ obsługi wyjątków na wydajność prostej aplikacji PHP. Zmierzymy czas wykonania kodu z i bez obsługi wyjątków.
Krok po kroku:
- Stworzenie funkcji z potencjalnym wyjątkiem:
- Pomiar czasu wykonania z obsługą wyjątków:
- Pomiar czasu wykonania bez obsługi wyjątków:
function dzielenie($a, $b) {
if ($b == 0) {
throw new Exception("Dzielenie przez zero!");
}
return $a / $b;
}
Funkcja dzielenie
rzuca wyjątek Exception
, jeśli drugi argument jest równy zero.
$start = microtime(true);
try {
$wynik = dzielenie(10, 2);
echo "Wynik: " . $wynik . "\n";
} catch (Exception $e) {
echo "Wyjątek: " . $e->getMessage() . "\n";
}
$end = microtime(true);
$czas = $end - $start;
echo "Czas wykonania z obsługą wyjątków: " . $czas . " sekund\n";
Blok try...catch
obsługuje potencjalny wyjątek. microtime(true)
mierzy czas.
$start = microtime(true);
$wynik = dzielenie(10, 2);
echo "Wynik: " . $wynik . "\n";
$end = microtime(true);
$czas = $end - $start;
echo "Czas wykonania bez obsługi wyjątków: " . $czas . " sekund\n";
$start = microtime(true);
$wynik = dzielenie(10, 0); // spowoduje błąd
$end = microtime(true);
$czas = $end - $start;
echo "Czas wykonania bez obsługi wyjątków (błąd): " . $czas . " sekund\n";
W tym przykładzie brak obsługi wyjątków. Zwróć uwagę na różnicę w czasie wykonania, szczególnie w przypadku błędu.
Ten przykład pokazuje podstawy pomiaru wydajności w kontekście obsługi wyjątków. Zachęcamy do eksperymentowania z różnymi scenariuszami i analizy uzyskanych wyników.