publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
6 skomentuj »

TAGI: testowa , php , programowanie , optymalizacja

2011-05-09 10:01  |  Tomasz Smykowski

6 narzędzi, które poprawiają wydajność programisty PHP. Musisz je sprawdzić!

6 narzędzi, które poprawiają wydajność programisty PHP. Musisz je sprawdzić!

Programując w PHP, marnujemy mnóstwo czasu na żmudne i nikomu niepotrzebne prace. Nieustanne wykonywanie powtarzalnych czynności wprowadza rutynę, nudę i może prowadzić do popełniania błędów. Skończmy z tym raz na zawsze. Jeżeli coś możesz zrobić szybciej - zrób to.

Spis treści

  1. Webgrind: szybkie diagnozowanie wąskich gardeł
  2. dBug: szybka wizualizacja zawartości zmiennych
  3. PHP Object Generator: szybkie generowanie obiektów bazodanowych
  4. Zen Coding: szybkie generowanie kodu HTML
  5. Simple Test: szybkie pisanie testow jednostkowych
  6. Selenium: szybkie testowanie interfejsu strony
  7. Podsumowanie

1. Webgrind: szybkie diagnozowanie wąskich gardeł

Zdarza się, że po stworzeniu rozbudowanego projektu nie możesz odnaleźć miejsca, które spowalnia całą stronę. Dobre narzędzie wyświetlające informacje o czasie spędzonym przez parser w poszczególnych funkcjach może pomóc w diagnozowaniu takich problemów. Webgrind jest webowym interfejsem dla Xdebug. Możesz go kojarzyć, jeżeli korzystałeś z KcacheGrind na Linuksie z KDE.

W odróżnieniu od tego narzędzia Webgrind działa w przeglądarce internetowej, nie musisz więc posiadać Linuksa, aby analizować wydajność kodu. Dzięki niemu możesz odnaleźć funkcje, które zabierają za dużo czasu parserowi. Narzędzie wyświetla zbiorczą liczbę wywołań funkcji oraz czas, który został poświęcony na jej wywołania.

Czasem opóźnienie w wyświetleniu strony nie jest wynikiem jednej wolno działającej funkcji, ale kombinacją setek wywołań niezoptymalizowanej funkcji. Tak samo folder może zajmować kilka gigabajtów, zawierając setki tysięcy małych plików.

Menadżery plików ułatwiają znalezienie takich miejsc, wyświetlając obok pojemności samego folderu pojemność folderu wraz z podkatalogami. W ten sam sposób Webgrind pomaga znaleźć wolne funkcje atomowe przez wyświetlanie obok czasu wywołania funkcji czas wywołania funkcji wraz z podfunkcjami (inclusive time).

Kolejną przydatną możliwością jest nawigowanie po kodzie. Możesz zobaczyć, które funkcje najczęściej są wywoływane w danym miejscu. Tak samo można sprawdzić, skąd wywoływana jest dana funkcja.

Znalazienie problematycznego miejsca w kodzie pozwoli Ci szybciej naprawić problemy wydajności zarówno w PHP, obsłudze zewnętrznych API i odwołaniach do bazy danych. Dzięki niemu poprawisz swoją wydajność pracy.

Webgrind możesz pobrać tutaj: http://code.google.com/p/webgrind/.

«poprzednia 1 2 3 4 ... 6 następna »

publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
6 skomentuj »

Komentarze

  • Jacek_S

    #1 Jacek Smolak® 2011-05-09 10:38:49 0

    Zend Tool dzięki pluginowi do Zend Frameworka w NetBeans. Bardzo wygodne w użyciu :)

    IP: 81.161.201.[...] Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1

  • murwazy

    #2 murwazy® 2011-05-09 10:56:13 0

    @Jacek S. zgoda, ale przede wszystkim PHING http://www.phing.info/trac/wiki/Users/Introduction/Features i mozliwosc prostego napisania narzedzi, za pomoca ktorych generowane sa cale moduly kodu, z CRUDem, uploadem na serwer itd

    dbug jest fajny ale... zajmuje za duzo miejsca na ekranie, po co te wszystkie tabelki? proponuje:

    function pre($txt) {

    echo '';

    print_r($txt);

    echo '';

    }

    ciezko to przebic;)

    zencoding jest ok, taki sposob pisania oferuje takze ide phpstorm

    PHP Object Generator - fajnie ale zmusza do uzycia ich wrappera na baze, zamiast tego lepszy jest wspomniany powyzej phing.

    dodatkowo "Oczywiście, możesz skorzystać z narzędzia do mapowania obiektowo-relacyjnego. Jednak takie narzędzia przy większych projektach potrafią sprawić więcej problemu niż pożytku."

    pozwole sobie nie zgodzic sie z powyzszym zdaniem, ormy to blogoslawienstwo przy wiekszych projektach. robiac maly projekt mozna narzekac na wiecej pracy ale przy wiekszych orm odplaca sie szybkoscia pisania, latwoscia utrzymania. a wydajnosc? cache. ew przepisanie newralgicznych czesci w czystym sql.

    IP: 89.79.188.[...] Opera/9.80 (Windows NT 6.1; U; pl) Presto/2.8.131 Version/11.10

  • murwazy

    #3 murwazy® 2011-05-09 10:57:34 0

    edit: funkcja zostala pociachana przez system komentarzy:)

    IP: 89.79.188.[...] Opera/9.80 (Windows NT 6.1; U; pl) Presto/2.8.131 Version/11.10

  • MariuszT

    #4 MariuszT® 2011-05-09 12:00:51 0

    Zen Coding zostało jakiś czas temu zaimplementowane także w naszym rodzimym Pajączku ;)

    IP: 62.141.243.[...] Mozilla/5.0 (Windows NT 6.0; rv:2.0.1) Gecko/20100101 Firefox/4.0.1

  • Pablo77

    #5 Pablo77® 2011-05-10 16:22:49 0

    A moze zrobic to profesjonalnie i zainstalowac xdebug z Netbeans, albo Aptana z Zend Debugerem.

    Nastepnie wziasc jakiegos frameworka z ORM albo ActiveRecord ew innego drupala i przejzec strone z dostepnymi pluginami.

    Na koniec, nauczyc sie uzywac capistrano z PHP i poczujecie sie jak kierowcy sportowego auta z turbo doladowaniem.

    IP: 195.171.7.[...] Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.2.17) Gecko/20110422 Ubuntu/9.10 (karmic) Firefox/3.6.17

  • VoyciecH

    #6 VoyciecH 2012-03-05 09:23:39 0

    Bluefish od 2.2 też ma Zen Coding :-)

    IP: 83.4.56.[...] Mozilla/5.0 (Windows NT 6.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2

Uwaga! Możesz zarejestrować się w serwisie i w ten sposób zarezerwować swój nick oraz ominąć konieczność ciągłego odczytywania wyrazów.

Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka (słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.

Polecane książki

Czytaj Webhosting

Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.

Zarejestruj domenę

Sprawdź dostępność swojej domeny:

.pl: 0 zł   .com: 19.90 zł
.com.pl: 0 zł   .eu: 19.90 zł