Skip to content

Instantly share code, notes, and snippets.

@fwsGonzo
Last active December 26, 2023 06:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fwsGonzo/2f4518b66b147ee657d64496811f9edb to your computer and use it in GitHub Desktop.
Save fwsGonzo/2f4518b66b147ee657d64496811f9edb to your computer and use it in GitHub Desktop.
Interpreted libriscv vs. interpreted Lua 5.3
$ ./bench
* All benchmark results are measured in 200x1200 samples
benchmark overhead median 0ns lowest: 0ns highest: 0ns
Self-test running ELF entry at 0x101BC
Calling into event loop...!
event_loop: Checking for work
event_loop: Going to sleep!
add_work: Adding work
Resuming event loop...!
event_loop: Checking for work
work: Doing some work!
event_loop: Going to sleep!
event_loop: Checking for work
event_loop: Going to sleep!
add_work: Adding work
event_loop: Checking for work
work: Doing some work!
event_loop: Going to sleep!
RISC-V self-test OK
libriscv: mips instr 640010000, time 0.544308, 1175.823452 mip/s
libriscv: call overhead median 4ns lowest: 4ns highest: 7ns
libriscv: fork median 248ns lowest: 244ns highest: 279ns
libriscv: resume execution median 3ns lowest: 3ns highest: 6ns
lua5.3: call overhead median 68ns lowest: 67ns highest: 87ns
libriscv: array append median 4ns lowest: 4ns highest: 5ns
libriscv: vector append median 10ns lowest: 10ns highest: 14ns
lua5.3: table append median 45ns lowest: 38ns highest: 97ns
libriscv: many arguments median 11ns lowest: 10ns highest: 18ns
libriscv: prepared arguments median 3ns lowest: 3ns highest: 5ns
libriscv: prepared arguments median 3ns lowest: 2ns highest: 22ns
libriscv: prepared arguments median 2ns lowest: 2ns highest: 5ns
lua5.3: many arguments median 336ns lowest: 323ns highest: 403ns
libriscv: integer math median 3ns lowest: 3ns highest: 6ns
libriscv: fp math median 11ns lowest: 10ns highest: 15ns
libriscv: exp math median 15ns lowest: 15ns highest: 19ns
libriscv: fib(40) median 177ns lowest: 175ns highest: 183ns
libriscv: taylor(1K) median 6686ns lowest: 6408ns highest: 7088ns
lua5.3: integer math median 86ns lowest: 85ns highest: 95ns
lua5.3: fp math median 72ns lowest: 71ns highest: 83ns
lua5.3: exp math median 61ns lowest: 59ns highest: 68ns
lua5.3: fib(40) median 877ns lowest: 835ns highest: 957ns
lua5.3: taylor(1K) median 16551ns lowest: 15810ns highest: 17127ns
libriscv: syscall overhead median 3ns lowest: 3ns highest: 6ns
libriscv: syscall print median 10ns lowest: 9ns highest: 14ns
lua5.3: syscall overhead median 23ns lowest: 18ns highest: 34ns
lua5.3: syscall print median 59ns lowest: 54ns highest: 71ns
libriscv: complex syscall median 68ns lowest: 67ns highest: 74ns
lua5.3: complex syscall median 906ns lowest: 883ns highest: 918ns
libriscv: micro threads median 122ns lowest: 112ns highest: 146ns
lua5.3: coroutines median 323ns lowest: 309ns highest: 343ns
libriscv: micro thread args median 198ns lowest: 185ns highest: 235ns
libriscv: full thread args median 203ns lowest: 195ns highest: 231ns
lua5.3: coroutine args median 378ns lowest: 366ns highest: 433ns
lua5.3: coroutine args median 376ns lowest: 365ns highest: 395ns
libriscv: naive memcpy median 306ns lowest: 304ns highest: 428ns
libriscv: syscall memcpy median 18ns lowest: 17ns highest: 24ns
lua5.3: memcpy median 5841ns lowest: 5617ns highest: 5954ns
libriscv: syscall memset median 11ns lowest: 10ns highest: 20ns
libriscv: naive memset median 191ns lowest: 184ns highest: 218ns
lua5.3: memset median 3512ns lowest: 3393ns highest: 3634ns
libriscv: sieve(10M) median 150ms lowest: 150ms highest: 150ms
lua5.3: sieve(10M) median 569ms lowest: 569ms highest: 569ms
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment