L1VM - Benchmarks JIT-compiler
Ich verbesserte den JIT-compiler von der L1VM. Den Code für Berechnungen mit Fließkommazahlen schrieb ich neu. Das hat große Auswirkungen auf die Laufzeiten.
Hier ist das Ergebnis:
Fließkomma Benchmark
C Programm ========== $ time ./double-test r: 704000000001.000000 real 0m27,411s user 0m27,347s sys 0m0,012s
L1VM - nojit ============ $ time l1vm-jit prog/jit-test-double-2-nojit -q 704000000001.0000000000 real 1m22,761s user 1m22,680s sys 0m0,036s
L1VM - JIT-compiler =================== $ time l1vm-jit prog/jit-test-double-2 -q 704000000001.0000000000 real 0m30,342s user 0m30,327s sys 0m0,008s
Neu: ich habe hier die Ergebnisse für den Integer (Ganzzahlen) Benchmark:
Integer Benchmark
C Programm ========== $ time ./int-test r: -5740231991128654848 d: 2 e: 63 f: 61 real 0m35,139s user 0m35,131s sys 0m0,000s
L1VM - nojit ============ $ time vm/l1vm-jit prog/jit-test-nojit -q -5740231991128654848 2 63 61 real 0m52,466s user 0m52,445s sys 0m0,012s
L1VM - JIT-compiler =================== $ time vm/l1vm prog/jit-test -q -5740231991128654848 2 63 61 real 0m43,644s user 0m43,607s sys 0m0,028s
Faktoren zu C: 1,0 L1VM - nojit: 1,5 L1VM - JIT-compiler: 1,24
Wie man sieht ist der JIT-compiler Code recht schnell.
Hier ist das Archiv mit den Benchmarks: L1VM-JIT-benchmark-02