|
From: | Akim Demaille |
Subject: | Re: push parser implemenation |
Date: | Fri, 7 Apr 2006 16:26:37 +0200 |
Le 7 avr. 06 à 16:04, Bob Rossi a écrit :
With -O2: Benchmark: timing 50 iterations of push-pure, push-push, push-yacc, yacc-pure, yacc-yacc... push-pure: 30 wallclock secs (20.94 cusr + 0.88 csys = 21.82 CPU) @ 2.29/s (n=50) push-push: 34 wallclock secs (22.96 cusr + 0.95 csys = 23.91 CPU) @ 2.09/s (n=50) push-yacc: 30 wallclock secs (21.47 cusr + 0.91 csys = 22.38 CPU) @ 2.23/s (n=50) yacc-pure: 26 wallclock secs (17.78 cusr + 0.85 csys = 18.63 CPU) @ 2.68/s (n=50) yacc-yacc: 25 wallclock secs (18.50 cusr + 0.85 csys = 19.35 CPU) @ 2.58/s (n=50) Rate push-push push-yacc push-pure yacc-yacc yacc-pure push-push 2.09/s -- -6% -9% -19% -22% push-yacc 2.23/s 7% -- -3% -14% -17% push-pure 2.29/s 10% 3% -- -11% -15% yacc-yacc 2.58/s 24% 16% 13% -- -4% yacc-pure 2.68/s 28% 20% 17% 4% --
I still don't know how to read those charts. I would assume that more 'wallclock' seems like it's slower. However, the 'Rate' makes the push parser seem the fastest! What does that mean?
Rate is the number of times the test can be run in one second. The higher, the better. This table says stock yacc.c is 16% faster than your yacc.c in the default mode.
The grammar is the calculator's, and it's computing values. I guess most parsers do execute more demanding actions... I wouldn't really be able to judge whether we can drop 15% performances like this.
Is there an easy script I can run on my Linux/AMD machine to generate these results?
Yes, the script I had attached. Here it is with the chidren stuff fixed.
bench.pl
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |