Re: hiphop progress
Ævar Arnfjörð Bjarmason <avarab <at> gmail.com>
2010-03-01 13:34:05 GMT
On Mon, Mar 1, 2010 at 10:10, Domas Mituzas <midom.lists <at> gmail.com> wrote:
> Howdy,
>
>> Most of the code in MediaWiki works just fine with it (since most of
>> it is mundane) but things like dynamically including certain files,
>> declaring classes, eval() and so on are all out.
>
> There're two types of includes in MediaWiki, ones I fixed for AutoLoader and ones I didn't - HPHP has all
classes loaded, so AutoLoader is redundant.
> Generally, every include that just defines classes/functions is fine with HPHP, it is just some of
MediaWiki's startup logic (Setup/WebStart) that depends on files included in certain order, so we have
to make sure HipHop understands those includes.
> There was some different behavior with file including - in Zend you can say require("File.php"), and it
will try current script's directory, but if you do require("../File.php") - it will
>
> We don't have any eval() at the moment, and actually there's a mode when eval() works, people are just
scared too much of it.
> We had some double class definitions (depending on whether certain components are available), as well as
double function definitions ( ProfilerStub vs Profiler )
>
> One of major problems is simply still not complete function set, that we'd need:
>
> * session - though we could sure work around it by setting up our own Session abstraction, team at facebook
is already busy implementing full support
> * xdiff, mhash - the only two calls to it are from DiffHistoryBlob - so getting the feature to work is
mandatory for production, not needed for testing :)
> * tidy - have to call the binary now
>
> function_exists() is somewhat crippled, as far as I understand, so I had to work around certain issues there.
> There're some other crippled functions, which we hit through the testing...
(Continue reading)