Merged
Conversation
Add 12 diverse benchmarks comparing Native Go, Go-on-Dis JIT, Go-on-Dis Interpreter, Limbo JIT, and Limbo Interpreter across: - Compute: fibonacci, sieve of eratosthenes, matrix multiply, nbody - Data structures: quicksort, binary search, map operations - Strings: string concatenation - Concurrency: channel throughput, goroutine/spawn creation - Language features: closures, interface dispatch Fix IRAISE operand placement bug in godis compiler (lower.go): Two call sites used Inst1(IRAISE, ...) which places the operand in dst position, but IRAISE expects its string argument in src position. This caused JIT "compile failed" errors on any code using interface method dispatch or type assertion panics. Disable GPU module in Linux emu config (not available on this platform) to allow headless builds to link successfully. Key findings from benchmark results: - Go-on-Dis JIT is 2-11x faster than Go-on-Dis interpreter - Go-on-Dis JIT beats Limbo JIT on fibonacci (1.8x) and interface dispatch (4.5x), showing efficient tagged dispatch - Limbo JIT beats Go-on-Dis JIT on array-heavy workloads (sieve 1.8x, matrix 1.8x) due to native array operations - Concurrency (spawn/channel) performance is similar across all Dis modes since it's dominated by VM runtime overhead - Native Go is 20-98x faster than Go-on-Dis interpreter https://claude.ai/code/session_01VLPuF45JPLiLvWKHh57GG9
Ignore benchmarks/_build/ (compiled .dis and native binaries) and tools/godis/godis (compiled Go binary) since these are build outputs that should not be tracked. https://claude.ai/code/session_01VLPuF45JPLiLvWKHh57GG9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.