Re: Re: [RFC] Better benchmarks for PHP

From: Date: Thu, 19 Feb 2009 09:24:53 +0000
Subject: Re: Re: [RFC] Better benchmarks for PHP
References: 1 2 3 4 5 6 7 8 9  Groups: php.qa 
Request: Send a blank email to php-qa+get-64687@lists.php.net to get a copy of this message
Thank you, I have added the original copyright and the comments. The Python implementation is only halfway done, so i can not be used. "- 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] => ) "- Is "var peek, next = queue;" the same as " $peek = $queue $next = $queue;"? It should be, two variables getting the same value, i tried to see if its a list($peek, $next) = $queue but it threw an error. Also PHP gives notification: *Notice*: Undefined offset when i omit it. 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 íO > ÔlœÃ~¬€QêóŒ*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 >

« previous php.qa (#64687) next »