Ogólnie Duńczyk jest dobrego zdania o HipHopie. Stwierdził, że to „świetny projekt i będzie dobrym rozwiązaniem dla niektórych witryn”. Jednak zaraz ostrzegł, że „jego efektywność będzie zależała od rodzaju kodu, wobec którego zostanie on zastosowany” – podobne rozwiązania znane są w świecie Pythona (Cython czy Pypy) i przynoszą rozmaite wyniki.
„Dla wielu aplikacji sama szybkość wykonywania nie jest znaczącym czynnikiem”, pisze Lerdorf. „Jeśli dwukrotnie zwiększysz szybkość wykonywania czegoś, co odpowiada za 10% wszystkich obciążeń, to zyskasz tylko 5% poprawę. Jeśli w każdym zapytaniu zderzasz się z memcache/postgresql/mysql dziesięć razy i spędzasz wiele czasu w wywołaniach systemowych, nie oczekuj cudów od HipHopa”.
Dlatego Lerdorf obawia się, że wielu deweloperów może potraktować translator Facebooka jako panaceum na wszelkie problemy z wydajnością ich serwisów, szczególnie teraz, gdy projekt otacza taka fama. „Chciałbym aby ci sami ludzie zaczęli się interesować podstawowymi zasadami profilowania i wykrywania najcięższych obszarów aplikacji. Przyśpieszanie szybszych części systemu nie przyniesie tylu korzyści, co przyśpieszanie, lub eliminowanie, którejś z wolniejszych części całości”.
Ludzie zaś rzadko kiedy starają się choćby w małym stopniu zoptymalizować swoje witryny. „Czas wykonywania skryptów PHP jest zwykle na samym dole listy, gdy analizuje się serie zapytań HTTP prowadzących do wyświetlenia strony w przeglądarce” – podsumował twórca PHP.
Jeśli chodzi zaś o praktyczne porady, to Lerdorf poradził webdeweloperom, aby korzystali chętniej z narzędzi takich jak YSlow od Yahoo! oraz PageSpeed od Google'a. Do profilowania backendów poleca narzędzie Callgrind, zaś do profilowania przestrzeni użytkownika PHP – XDebug.
My zaś zapraszamy do zapoznania się ze zbiorem porad dotyczących przyspieszania skryptów PHP bez wykorzystania dodatkowych narzędzi w artykule pt. Przyspieszamy skrypty PHP (kilka prostych wskazówek).
Źródło: ReadWriteWeb.com
Ładowanie





Browser: Opera/9.80 (X11; Linux i686; U; pl) Presto/2.2.15 Version/10.10
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)
Browser: Opera/9.80 (X11; Linux i686; U; pl) Presto/2.2.15 Version/10.10
Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729)