Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Debugger - Wąskie gardło
cojack
post
Post #1





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


Chciałbym się zapytać Was jaki macie sposób na rozwiązanie tego problemu z wąskim gardłem w debuggerze. Otóż jeżeli chcemy posiadać informację o czasie wykonania się poszczególnych metod w naszej aplikacji, to piszemy sobie np dwie funkcje w debuggerze start() i stop() które mierzą czas wykonania się metody. Teraz w takiej metodzie te dwie funkcje trzeba odpalić, także przykład:

  1.  
  2. public function waskieGardlo() {
  3. debugger::start( __CLASS__, __FUNCTION__ );
  4. // coś se tu robimy coś tam coś
  5. debugger::stop();
  6. }


no i teraz mamy wywołaną dwie metody nie potrzebnie gdy np nie mamy włączonego debuggera, także zróbmy to inaczej:

  1. public function waskieGardlo() {
  2. if( debugger::$enable ) {
  3. debugger::start( __CLASS__, __FUNCTION__ );
  4. // coś se tu robimy coś tam coś
  5. }
  6. if(debugger::$enable)
  7. debugger::stop();
  8. }


Teraz dwa razy sprawdzamy czy debbuger jest włączony, co mi też się zbytnio nie podoba, to może inaczej:

  1. public function waskieGardlo() {
  2. if( debugger::$enable ) {
  3. debugger::start( __CLASS__, __FUNCTION__ );
  4. // coś se tu robimy coś tam
  5. debugger::stop();
  6. } else
  7. // coś se tu robimy coś tam
  8. }


Teraz podwójnie piszemy kod którą jest już napisany + np wyłapywanie błędów itp... Jest też i czwarta metoda:

  1. public static function start( $class, $method ) {
  2. if( self::$enable ) {
  3. // sprawdzamy sobie czas
  4. }
  5. }
  6.  
  7. public static function stop() {
  8. if( self::$enable ) {
  9. // zliczamy sobie czas
  10. }
  11. }


I taka opcja w połączeniu z pierwszą opcją wydaje się być najbardziej optymalną, ale, aczkolwiek nie wydaje mi się być najlepszą. Macie na to jakieś rozwiązanie? Pusta klasa debuggera w ogóle mnie nie interesuje, czy tam puste metody, to odpada.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 15:35