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:

  1. Stworzenie funkcji z potencjalnym wyjątkiem:
  2. 
    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.

  3. Pomiar czasu wykonania z obsługą wyjątków:
  4. 
    $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.

  5. Pomiar czasu wykonania bez obsługi wyjątków:
  6. 
    $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.

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *