Howdy,
Looks like a loot of fun :-)
Fun enough to have my evenings and weekends on it :)
this smell like something that can benefict from
metadata.
/* [return integer] */ function getApparatusId($obj){
//body
}
Indeed - type hints can be quite useful, though hiphop is smart enough to figure out it
will be an integer return from code :)
It is quite interesting to see the enhancements to PHP that have been inside facebook and
now are all released - XHP evolves PHP syntax to fit the web world (
http://www.facebook.com/notes/facebook-engineering/xhp-a-new-way-to-write-p…
), the XBOX thing allows background/async execution of work without standing in the way of
page rendering, etc.
What we can expect? will future versions of MediaWiki
be "hiphop
compatible"? there will be a fork or snapshot compatible? The whole
experiment looks like will help to profile and enhance the engine,
will it generate a MediaWiki.tar.gz file we (the users) will able to
install in our intranetss ??
Well, the build itself is quite portable (you'd have to have single binary and
LocalSettings.php ;-)
Still, the decision to merge certain changes into MediaWiki codebase (e.g. relative
includes, rather than $IP-based absolute ones) would be quite invasive.
Also, we'd have to enforce stricter policy on how some of the dynamic PHP features are
used.
I have to deal here with three teams (wikimedia ops, mediawiki development community and
hiphop developers) to make stuff possible.
Do note, getting it work for MediaWiki is quite simple task, compared to getting it work
in Wikimedia operations environment.
What I'd like to see though as final result - MediaWiki that works fine with both Zend
and HPHP, and Wikimedia using the latter.
Unfortunately, I will not be able to visit Berlin developer meeting to present this work
to other developers and will try to get some separate discussions.
You know, most of work will be coming up with solutions that are acceptable by Tim :-)
Maybe a blog article about your findings could be
nice. It may help
"write fast PHP code". And will scare littel childrens and PHP
programmers with a C++ background.
My findings are hectic, at the moment, and I don't want to talk too much about them,
until I get decently working mediawiki.
BTW, Main_Page and Special:BlankPage were both served in ~12ms. Now I have to get complex
parser test cases work, and such.
Domas