Re: Phux - High Performance PHP Router

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2014/1/5 Lin Yo-An <cornelius.howl@xxxxxxxxx>

> Hi folks,
>
>
> Glad to announce that the first version of Phux PHP Router is released.
>
> https://github.com/c9s/phux
>
>
> Phux is basically a rewrite of PHP Roller router.
>
> Phux provides full functional C extension and pure PHP library with the
> same interface, so the extension is optional to install.
>
> but if you install phux extension, you may enjoy the performance of
> routing.
>
>
>
> Route Dispatch Benchmark (Symfony/Routing and Phux pure PHP)
>
> https://raw.github.com/c9s/Phux/master/benchmarks/reqs.png


Hi,

Not a comment about Phux directly, but I think I have to point this out
(sadly: once more): When you use Apache Benchmark to benchmark the
performance of an PHP-component, you in fact benchmark your system... [1]
Another flaw is, that the whole benchmark setup is missing, which makes it
slightly suspicious and unreliable. Two things, that spontanous came into
my mind

- Because you use ab to benchmark it is unlikely, that the S2-setup
contains the routing-component only. This means, that in this benchmark you
measure more than just the routing. OK, the README states, that "Testing
with route dispatch only. (no controller)", but information on how do the
benchmarks setup the routing is missing.
- Like so many other benchmarks improvments, that every S2-application
relies in production on, are probably missing. Do you compile the
routing-table from a config into PHP? Do you use APC? While it sounds
totally fair to compare two bare setups, it isn't. It probably ignores
customizations, that are possible in one, but not the other and that
affects the outcome. Most obvious example is what I mentioned: Parsing a
YAML, generating the routing table and routing is something very different
than reading the routing-table from an APC-cached PHP-file and routing.

I don't say Phux is bad or something, but my advice is to rework the
benchmark and publish the setup. Beside this I am more interested in
benchmarks of the C-extension (especially against the native-PHP solution)
:)

Regards,
Sebastian


[1] The worst thing about this, is that you not only benchmark the target
system, but the benchmark also relies heavily on the local one. Even worse
than worse: Running both on the same machine let them affect each other in
a non-predictable way. You get numbers, but you can never tell, what they
mean.


>
>
>
>
> Cheers,
>
> Yo-An Lin
>



-- 
github.com/KingCrunch

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux