[TYPO3-performance] PHP HipHop - Facebook
Georg Kuehnberger
georg at georg.org
Fri Mar 19 23:42:41 CET 2010
Jonas,
Jonas Dübi wrote:
> Hi Performance masters :-)
> How much could PHP HipHop developed by Facebook be of use for TYPO3?
Unfortunately, not at all (which is probably true for all de-centrally
developed software).
This is mainly caused by HipHops PHP- and Hardware-Restrictions, and by
TYPO3s php-based modular architecture and distribiuted developement.
(However HipHop seems to be a serious choice in case you do centrally
develop a closed source and rather monolithic PHP-app.)
> Do you see any chance to compile some parts of TYPO3 with it?
NO; AFAI understood HipHop requires you to compile the WHOLE application
(all classes, all includes ...) not only parts of it.
So in order to keep it modular (like FB is doing, too), the interaction
between application-modules (think Extensions) has to be kept outside
PHP (that is using RPC/REST/JSON/whatever interfaces), as far as I
understood.
Be aware of the facts (from the top of my head) that FB:
a) is using +7 programming-languages,
b) has integrated +30 application-modules - across all those languages
and different APIs & Dataformats,
d) took the decission to rather compile their 300.000 lines of php-code
in order to avoid rewriting.
c) is run on +30.000 (!)Servers and still faces performance issues, no
wonder given that it
e) serves 400 billion PHP-based page views per month.
In addition:
- Compiled coded (as hiphop does) has to be complied for all different
CPU-plattforms (which is not the case for interpreted code, like PHP as
you know); thus hiphop is only viable in case you DO controll the
hardware in runs under (or you'd invest high into cross-plattform
compilation and testing; think debian).
- HPHPi might however be interesting to testrun a pre-flight-check on a
"plain" TYPO3-Core.
----snip----
"HPHPi the xperimental interpreter designed for development. When using
HPHPi you don't need to compile your PHP source code before running it")
----snap----
Pitty, pitty it seems for TYPO3, and other PHP based Frameworks like
Zend, however I feel it is not.
- 99,0% of all PHP-Frameworks are not facing the scaling issues of FB, and
- 99,9% of all PHP-Frameworks including TYPO3 would much more benefit
from getting rid of the real performance-hogs within their frameworks
and their extensions.
I know that we will gather much more performance and save much more
memory, cpu-time, energy and even the planet, by eliminating those hogs,
rather than by compiling them into some other language.
Please find a few pointers below,
regards georg
http://developers.facebook.com/news.php?story=358&blog=1
http://www.datacenterknowledge.com/archives/2009/10/13/facebook-now-has-30000-servers/
http://wiki.github.com/facebook/hiphop-php/using-nginx-as-front-server-to-hiphop
More information about the TYPO3-performance
mailing list