Re: Re: [RFC] Better benchmarks for PHP

From: Date: Fri, 20 Feb 2009 01:02:39 +0000
Subject: Re: Re: [RFC] Better benchmarks for PHP
References: 1 2 3 4 5 6 7 8 9 10  Groups: php.qa 
Request: Send a blank email to php-qa+get-64693@lists.php.net to get a copy of this message
On Fri, Feb 20, 2009 at 12:24 AM, Ólafur Waage <olafurw@gmail.com> wrote: > Also what would be the next benchmark to port in your opinion. I suggested Richards since it was shortest, while actually doing something. I would do them in order of how easy they are. I took a quick glance, at think perhaps crypto or deltablue. The other v8 ones look hard or weird. From the sunspider ones, 3d-raytrace.js looks nice, and 3d-cube.js looks ok. We might be out of useful tests after that, as either too hard to port, or as not great benchmarks. Paul > On Thu, Feb 19, 2009 at 10:19 PM, Paul Biggar <paul.biggar@gmail.com> wrote: > >> On Thu, Feb 19, 2009 at 9:24 AM, Ólafur Waage <olafurw@gmail.com> wrote: >> > Thank you, >> >> No problem. >> >> > "- Packet::__construct inits the array to 4, rather than use DATA_SIZE.. >> > I suspect this could be omited entirely? I think I saw this somewhere >> > else as well..." >> > >> > in PHP >> > array(DATA_SIZE) // Array ( [0] => 4 ) >> > >> > in JS >> > new Array(DATA_SIZE) // Array ( [0] => , [1] => , [2] => , [3] => ) >> >> I realized that. I just meant that DATA_SIZE is not used for its >> original purpose. But I think its no harm. >> >> >> >> I've been looking at this for a while, and done a fair amount of >> debugging and testing, but I can't find the bug. Are you having any >> success yourself? Once the bug is fixed, I think you're good to >> commit. Nuno has, to my knowledge, sorted karma etc, so ping him once >> you're done. >> >> >> Looking forward to reviewing the next benchmark. >> >> Paul >> >> >> > Olafur >> > >> > On Thu, Feb 19, 2009 at 3:48 AM, Paul Biggar <paul.biggar@gmail.com> >> wrote: >> >> >> >> On Thu, Feb 19, 2009 at 1:30 AM, Ólafur Waage <olafurw@gmail.com> >> wrote: >> >> > I have done a line by line convertion of richards.js from the V8 >> google >> >> > test >> >> > but i am having some issues with inheritance in it. >> >> > >> >> > http://cznp.com/php/benchmark/ >> >> >> >> OK, I've taken a look. Overall, this looks almost perfect, so the >> >> following comments are very minor. >> >> >> >> - dont take out the copyright notice >> >> - I would recommend copying the comments from richards.js verbatim. >> >> - You might point to y«‘7 >> >> S™e Ó&è}http://www.cl.cam.ac.uk/~mr10/Bench.html<http://www.cl.cam.ac.uk/%7Emr10/Bench.html>. >> Note >> >> that in his code package, there is a README, and a python >> >> implementation. That might help a little. >> >> - In TaskControlBlock::run, $packet does not need to be declared. >> >> - TaskControlBlock::toString is missing. >> >> - IdleTask::toString is missing. >> >> - DeviceTask::toString is missing. >> >> - WorkerTask::toString is missing. >> >> - HandlerTask::toString is missing. >> >> - Packet::toString is missing. >> >> - Packet::__construct inits the array to 4, rather than use DATA_SIZE.. >> >> I suspect this could be omited entirely? I think I saw this somewhere >> >> else as well... >> >> - Is "var peek, next = queue;" the same as " $peek = $queue; >> >> $next = $queue;"? >> >> - Hmmm, none of the toStrings are used, which I presume is why you >> >> omitted them. Oh well. >> >> >> >> >> >> I wonder if its worth keeping the structure of the file as close to >> >> the original as possible? Just a thought. No doubt there was a reason >> >> you rearranged it. >> >> >> >> My javascript is poor, but I would think your code looks perfect. Yet >> >> it fails. I've confirms richards.js doesnt fail (at least in Rhino), >> >> but I cant seem to find your bug. There is a null dereference of >> >> $packet->id in Scheduler::queue(), but I think that's by design, so >> >> probably not it. >> >> >> >> Great work. >> >> >> >> Paul >> >> >> >> >> >> > If someone can take a look at it, since i am still figuring out what >> >> > exactly >> >> > the code is doing, but meanwhile i did a convertion of one SunSpider >> >> > test, >> >> > the nsieve.js one. Its in the same folder and it can be added if you >> >> > guys >> >> > want. >> >> > >> >> > I am going to look at more SunSpider tests while trying to fix the >> >> > richards >> >> > test. >> >> > >> >> > Thanks, >> >> > Ólafur Waage >> >> > olafurw@gmail.com >> >> > >> >> > On Mon, Feb 16, 2009 at 10:07 PM, Nuno Lopes <nlopess@php.net> wrote: >> >> > >> >> >> I think that can be viewed as part of the project. Compiling a >> (little) >> >> >> list of interesting applications is a challenging task. >> >> >> For example, we can tweak say phpbb 3 to have it deployed >> automatically >> >> >> and >> >> >> then use some real world data to build a set of requests that you >> want >> >> >> to >> >> >> perform and benchmark. I actually run a phpbb forum with a little >> more >> >> >> than >> >> >> 1 million visitors/month, so I can provide this data. >> >> >> >> >> >> You can also think about e.g. mediawiki. it should be easy to >> >> >> automatize, >> >> >> and we could then ask for stats from the wikipedia guys. >> >> >> >> >> >> Nuno >> >> >> >> >> >> >> >> >> ----- Original Message ----- >> >> >> Since we are talking about benchmarking real world applications, do >> we >> >> >> have >> >> >> a list of applications we wish to run the benchmarks on? >> >> >> >> >> >> On Sun, Feb 15, 2009 at 5:02 PM, Paul Biggar >> >> >> <paul.biggar@gmail.com> >> >> >> wrote: >> >> >> >> >> >> On Sun, Feb 15, 2009 at 4:39 PM, Ólafur Waage >> >> >> <olafurw@gmail..com> >> >> >> wrote: >> >> >>> > I have not delved deep into the tests that are referenced in the >> rfc >> >> >>> > but >> >> >>> do >> >> >>> > they include comparison data? >> >> >>> >> >> >>> Most have very little. Typically, they are built into the benchmark. >> >> >>> I've updated the wiki page with everything I know about the data >> sets. >> >> >>> >> >> >>> >> >> >>> Paul >> >> >>> >> >> >>> > >> >> >>> > Thanks, >> >> >>> > Olafur >> >> >>> > >> >> >>> > On Sun, Feb 15, 2009 at 4:05 PM, Pierre Joye < >> pierre.php@gmail.com> >> >> >>> wrote: >> >> >>> > >> >> >>> >> hi, >> >> >>> >> >> >> >>> >> On Sun, Feb 15, 2009 at 8:18 AM, Sebastian Bergmann >> >> >>> >> <sb@sebastian-bergmann.de> wrote: >> >> >>> >> > Nuno Lopes schrieb: >> >> >>> >> >> Comments, criticisms and volunteers especially >> >> >>> >> >> welcome, >> >> >>> >> > >> >> >>> >> > When you do this, think about splitting each benchmark >> >> >>> >> > into a >> >> >>> separate >> >> >>> >> > file and have it run by a separate PHP process, see >> >> >>> >> > [1]. >> >> >>> >> >> >> >>> >> To split them into separate files/cases is definitively a >> >> >>> >> good >> >> >>> >> thing. >> >> >>> >> >> >> >>> >> I'm not sure we should run them in parallel. As it >> >> >>> >> makes sense >> for >> >> >>> >> the >> >> >>> >> phpt, it may have counter effects for benchmark tests. >> >> >>> >> Concurrent >> >> >>> >> executions of a given feature/extension could help (for apc >> >> >>> >> and >> >> >>> >> stat >> >> >>> >> cache for example), but maybe not for every part of php, or >> >> >>> >> not >> by >> >> >>> >> default. >> >> >>> >> >> >> >>> >> Cheers, >> >> >>> >> -- >> >> >>> >> Pierre >> >> >>> >> >> >> >>> >> http://blog.thepimp.net | >> >> >>> >> http://www.libgd.org >> >> >>> >> >> >> >>> >> -- >> >> >>> >> PHP Quality Assurance Mailing List >> >> >>> >> <http://www.php.net/> >> >> >>> >> To unsubscribe, visit: >> >> >>> >> http://www.php.net/unsub.php >> >> >>> >> >> >> >>> >> >> >> >>> > >> >> >>> >> >> >>> >> >> >>> >> >> >>> -- >> >> >>> Paul Biggar >> >> >>> paul.biggar@gmail.com >> >> >>> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> -- >> >> Paul Biggar >> >> paul.biggar@gmail.com >> > >> > >> >> >> >> -- >> Paul Biggar >> paul.biggar@gmail.com >> > -- Paul Biggar paul.biggar@gmail.com

« previous php.qa (#64693) next »