> > With profiled binaries, lemon is 61% slower, with non-profiled > > binaries, it's only 38% slower. > > > ... > > > > Beyond that, without refactoring, I don't know how lemon can be pushed > > any further. Thoughts? -sc > > > > Please try again with the latest version of lemon in the CVS > repository. The code has been refactored. yy_find_parser_action > has been split up into two different routines and uses a very > different algorithm. Further refinements are possible, but I'm > curious to know how much this one change helped. I am unable to > get your benchmark to compile on RedHat 7.3. > > If you cannot get to CVS, download copies from the web interface: > > http://www.sqlite.org/cvstrac/getfile/sqlite/tool/lemon.c > http://www.sqlite.org/cvstrac/getfile/sqlite/tool/lempar.c

I have taken the latest version of lemon from CVS and did some benchmarks using the test programs written by Sean Chittenden. I tested only optimized binaries and compared the results to Lemon from SQLite 2.8.3 and Bison 1.875.

Complete logs are in the attached files. Here is a table with approximate execution times depending on optimization settings
(Gentoo Linux 1.4, GCC 3.2.3 on AMD Duron 950 MHz)

---------------------------------
Parser Generator | -O2  | -O3
---------------------------------
Lemon CVS        | 26   | 21.5
Lemon 2.8.3      | 32   | 30
Bison 1.875      | 20.5 | 21
---------------------------------

Looks like a new Lemon version is much faster and has almost the same performance as Bison when -O3 optimization is used.
A difference between -O2 and -O3 times is probably because of function calls overhead, as -O3 optimization inlines some functions in the generated code.

Attachment: logs.zip
Description: Zip compressed data

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to