|
Written by Administrator
|
|
Monday, 26 October 2009 21:04 |
Computer Language Benchmarks Game
Here, you can compare the performance of Lisaac programs against some other language implementation, or check the Lisaac time and memory measurement. (The Computer Language Benchmarks Game)
Lisaac vs GCC
A MPEG2 deoder written in C was rigorously translated in Lisaac :
Lisaac :
- Version : 0.12
- Compilation options : -O -i20
GCC :
- Version : 4.1.2
- Compilation options : -O3 -fomit-frame-pointer -ftree-vectorize -msse -march=pentium4 -mtune=pentium4
Platform
- Operating System : Debian unstable/lenny
- Processor : Intel(R) Core(TM)2 Quad CPU 2.40GHz
- Memory : 4GB DDR
- Video used in the benchmark : 80 MB, 1m51s
And here is the result of the benchmark :
| C version | Lisaac version | Lisaac Rate (%) |
| Code line count |
9888 |
6003 |
35.3% less |
| Binary size |
76Kb |
88Kb |
13.64% more |
| Text size |
51427b |
53887b |
4.78% more |
| Run time YUV format (s) |
30.74 |
44.43 |
44.5% slower |
| Run time SIF format (s) |
60.67 |
59.15 |
2.5% faster |
| Run time TGA format (s) |
97.87 |
83.48 |
17.2% faster |
| Run time PPM format (s) |
97.33 |
83.70 |
16.3% faster |
Lisaac is a high level language, so it explain 35.3% code line less than C program. Specialisations of the code made by the Lisaac compiler explain the 13.64% surplus of binary size. Data structure are heavier in Lisaac than C, but all memory is dynamically managed in Lisaac, so memory uses at runtime is about equal.
Lisaac compiler evolution
Platform
- Processor : Athlon 2.4GHz
- Memory : 512 MB
- Compiler versions involved : 0.083 vs 0.11
And here is the result of the benchmark :
| Compiler | Memory | Lines (C) | Binary size | Time | Notes |
| Lisaac 0.083 |
441 MB |
387 030 |
2.6 MB |
28 s |
(2) |
| Lisaac 0.11 (First step) |
315 MB |
404 451 |
3.2 MB |
20 s |
(1) |
| Lisaac 0.11 (Next step) |
310 MB |
246 263 |
3.4 MB |
16 s |
(1) (2) |
| Lisaac 0.083 -d |
530 MB |
570 680 |
6.5 MB |
52 s |
(3) |
| Lisaac 0.11 -d |
360 MB |
736 546 |
10.9 MB |
18 s |
(3) |
(1) Improvement of 20% of generated code. (2) Improvement of 42% of compiler speed. (3) Improvement of 65% of compiler speed (almost same performance as normal mode).
Bootstrap
| Language | Lines(*) | Time | Memory |
| Lisaac 0.083 |
16.105 |
11 s |
225 MB |
| Lisaac 0.082 |
16.210 |
11 s |
225 MB |
| Lisaac 0.081 |
15.918 |
11 s |
230 MB |
| Lisaac 0.073 |
15.600 |
118 s |
192 MB |
| SmartEiffel 1.1 |
17.200 |
135 s |
286 MB |
(*) Lines of the compiler without the library
|
|
Last Updated on Tuesday, 10 November 2009 14:42 |