Istisna yakalandı zaman php 5 denemeydi yakalar performansını etkiler mi?

1 Cevap php

Iş son derece akıllı birisi bana atmayın yakalar, milyonlarca kullanıcıya sahip bir sitede performansını etkileyecektir deneyin söyledi. birim testine göre bu bir os seviyede ve / veya web sunucusu belirli durumuyla ilgili merak ediyorum, eşit performans gösteren yayınlanmıştır. Örneğin, asenkron çalışma web sunucusunun uygulama çocuk süreçlerin yerine parçacığı oluşur.

Herkes biliyor?

Ne görmek isterim kullanılan gerçek cpu süreyi gösteren bir php profilleyicinin çıktı.

üzerinde jmucchiello sözleri, http://stackoverflow.com/questions/104329/performance-of-try-catch-in-php ilginç, ama kullanılan cpu zamanı ölçmek değil.

Thanks, David

1 Cevap

Ben çok küçük ve bilimdışı testi koştu ve çağrılan asla yakalamak olan veya bir try catch deyimi dışarıda olan arasındaki kabaca bir fark olduğu bulunmuştur. Ben 5 kez her zaman profilcisine aracılığıyla bu iki komut her koştu ve toplam süreleri ortalama.

Results

  • Try / catch deyimi ile: 1.34 seconds
  • Try / catch deyimi olmadan: 1.3 seconds

The Code

Try/Catch

<?php
foreach(range(1,200000) as $i) {
    try {
         if ($i % 5 == 0 && $i % 3 == 0)    echo "fizzbuzz";
         elseif ($i % 5 == 0)           echo "fizz";
         elseif ($i % 3 == 0)           echo "buzz";
         else                   echo $i;
     } catch (Exception $e) {
         echo sin($i) * cos($i * pi());
     }
}

?>

No Try/Catch

<?php
foreach(range(1,200000) as $i) {
     if ($i % 5 == 0 && $i % 3 == 0)    echo "fizzbuzz";
     elseif ($i % 5 == 0)           echo "fizz";
     elseif ($i % 3 == 0)           echo "buzz";
     else                   echo $i;
}

?>