Re: Phux - High Performance PHP Router

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

 



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

> Here is the benchmark details, you can find the benchmark code below:
>
> https://github.com/c9s/router-benchmark
>

Hi,

Well, you still use a full LAMP-stack and HTTP-benchmark-tool for
benchmarking. That was actually _the_ point, which makes this benchmark
useless for me...


Beside this: You should increase the routes you benchmark and introduce
more variation (pattern-matching, matching first/last route and so on),
because different implementations often differ in different situations.


>
> on intel xeon 16 cores machine:
>
> symfony/routing only got 4873.17 #/sec while phux got 16777.12 #/sec
>
> on intel core i5 machine:
>
> symfony/routing only got around 200-300 #/sec while phux got around
> 1600-1800 #/sec
>
>
>
> Also the pure php dispatch benchmark:
>
> cat dispatch.txt
> n=10000
> Runing symfony/routing - . 6664.4093423989/s
> Runing phux extension - . 16501.898328291/s
>
>                    Rate   Mem phux extension symfony/routing
>  phux extension   16K/s    5M             --            -40%
> symfony/routing    6K/s  786K           247%              --
>
>
> ================================== Bar Chart
> ==================================
>
>    phux extension   16K/s |
> ████████████████████████████████████████████████████████████  |
>   symfony/routing    6K/s | ████████████████████████
>                |
>
>
> ============================== System Information
> ==============================
>
> PHP Version: 5.5.6
> CPU Brand String: Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz
>
>
>
>
>
>
> On 2014/1/6, at 下午12:36, Yo-An lin <cornelius.howl@xxxxxxxxx> wrote:
>
> Yeah I know, the benchmark is pretty rough. Because its a two day work.  :p
>
> The details will come up later.
>
> [Sent from iPhone]
>
> Sebastian Krebs <krebs.seb@xxxxxxxxx> 於 2014/1/6 7:54 寫道:
>
>
>
>
> 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
>
>
>


-- 
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