[LLVMdev] Adding SQLite3 to llvm test-suite

Török Edwin edwintorok at gmail.com
Sat Mar 22 08:20:31 PDT 2008


Hi,

SQLite3 has a very simple build system, and it comes with an extensive
testsuite (over 40000 tests).
It hasn't shown any bugs in LLVM, but it is fairly simple to build [even
turn off features via -D], and can be CPU intensive.

I have integrated SQLite3 into llvm-test's build system, it is too large
to send as attachment (784K), you can get it from here:
http://edwintorok.googlepages.com/SQLite_llvm_test.tar.gz

The testsuite is using tcl, and needs tcl headers available at
build-time so I didn't add that [they are mostly I/O bound anyway]
Instead I found a "speedtest" script in the sqlite distribution. I
modified it to generate sql files instead of directly running sqlite.

The results are here, LLVM is ~20% slower than GCC:

Program         | GCCAS  Bytecode LLC compile LLC-BETA compile JIT
codegen | GCC     CBE     LLC     LLC-BETA JIT     | GCC/CBE GCC/LLC
GCC/LLC-BETA LLC/LLC-BETA
lemon/lemon     | 0.3833 149404   0.5699      *               
0.5166      |    0.04    0.04    0.05 *           0.62 | -       -      
n/a          n/a
sqlite3/sqlite3 | 4.8063 1744588  5.3996      *               
3.7497      |    7.09    8.19    8.78 *          13.68 | 0.87    0.81   
n/a          n/a

There are more speedtest scripts in its testsuite, but the generated sql
is large (>10 Mb), and I think the above shows a clear difference
between LLVM and GCC.

Can somebody please review and commit this to llvm-test?

Best regards,
--Edwin




More information about the llvm-dev mailing list