From 9ad66f10a6e46c1cd18142581b710d7a5926a5d4 Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Sun, 3 Jun 2018 17:56:33 -0400 Subject: [PATCH] Added results of latest speedup of VM code --- Benchmark.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Benchmark.md b/Benchmark.md index e2e2110..6d819a8 100644 --- a/Benchmark.md +++ b/Benchmark.md @@ -15,4 +15,6 @@ The compiler is achieving a speedup of 8.65 compared to the interpreter. **Update 2** Tested with pre-release v0.70. This code has immediate mode VM instruction for jump (`JMPI`), branch (`BRCI`), call (`JSRI`) and load (`LDAWI`, `LDRWI`, `LDABI`, `LDRBI`). I have not done the same enhancement for the store instructions yet. Benchmark time is reduced to 32 seconds from completion of loading bytecode until termination. This is a pretty big speedup - 11.6 times as fast as the interpreter. -**Update 3** Tested with pre-release v0.75 (on Apple II). The VM now uses zero page locations for evaluation stack and registers. Benchmark time is now 25 seconds from completion of loading bytecode until termination. \ No newline at end of file +**Update 3** Tested with pre-release v0.75 (on Apple II). The VM now uses zero page locations for evaluation stack and registers. Benchmark time is now 25 seconds from completion of loading bytecode until termination. + +**Update 4** Tested with pre-release v0.76 (on Apple II). Refactored the VM code to use a jump table. Benchmark time is now **21 seconds** from completion of loading bytecode until termination.