Avatar for the paradigmxyz user
paradigmxyz
revmc
BlogDocsChangelog

feat: implement JIT runtime

#139
Comparing
dani/runtime
(
40dde4e
) with
main
(
b70076a
)
CodSpeed Performance Gauge
0%
Untouched
65
Skipped
24

Benchmarks

24 total
fibonacci/rt/interpreter
crates/revmc-cli/benches/bench.rs::benches::bench::fibonacci
Skipped
18.1 µs*
fibonacci/compile/jit
crates/revmc-cli/benches/bench.rs::benches::bench::fibonacci
Skipped
8.2 ms*
fibonacci/rt/jit/no_gas
crates/revmc-cli/benches/bench.rs::benches::bench::fibonacci
Skipped
2.3 µs*
fibonacci/compile/translate
crates/revmc-cli/benches/bench.rs::benches::bench::fibonacci
Skipped
268.9 µs*
fibonacci/rt/native
crates/revmc-cli/benches/bench.rs::benches::bench::fibonacci
Skipped
1.3 µs*
fibonacci/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::fibonacci
Skipped
2.9 µs*
eip2935/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::eip2935
Skipped
4.9 µs*
airdrop/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::airdrop
Skipped
4.8 µs*
factorial/rt/jit/no_gas
crates/revmc-cli/benches/bench.rs::benches::bench::factorial
Skipped
19.5 µs*
factorial/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::factorial
Skipped
22.1 µs*
eip4788/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::eip4788
Skipped
5.1 µs*
fiat_token/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::fiat_token
Skipped
2.1 µs*
bswap64_opt/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::bswap64_opt
Skipped
6 µs*
bswap64/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::bswap64
Skipped
6.2 µs*
counter/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::counter
Skipped
4.9 µs*
erc20_transfer/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::erc20_transfer
Skipped
7.6 µs*
fibonacci-calldata/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::fibonacci-calldata
Skipped
13.8 µs*
fibonacci-calldata/rt/jit/no_gas
crates/revmc-cli/benches/bench.rs::benches::bench::fibonacci-calldata
Skipped
11.8 µs*
push0_proxy/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::push0_proxy
Skipped
3.8 µs*
hash_10k/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::hash_10k
Skipped
23.6 ms*
uniswap_v2_pair/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::uniswap_v2_pair
Skipped
2.1 µs*
univ2_router/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::univ2_router
Skipped
8.1 µs*
usdc_proxy/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::usdc_proxy
Skipped
5 µs*
weth/rt/jit/default
crates/revmc-cli/benches/bench.rs::benches::bench::weth
Skipped
8 µs*

Commits

Click on a commit to change the comparison range
Base
main
b70076a
-0.06%
chore: format runtime module
b6c5518
1 month ago
by DaniPopes
+0.31%
feat: add Phase 2 APIs (compile_jit, prepare_aot, clear_resident)
6db8594
1 month ago
by DaniPopes
+0.01%
feat: add clear_persisted and clear_all lifecycle APIs
14545c2
1 month ago
by DaniPopes
0%
Merge branch 'main' into dani/runtime
2dd639a
1 month ago
by DaniPopes
-0.3%
test: add AOT persist flow tests
b893061
1 month ago
by DaniPopes
+0.15%
chore: fix nightly rustfmt
140d5e0
1 month ago
by DaniPopes
-0.05%
ci: add runtime mode to state-tests matrix
765a5d5
1 month ago
by DaniPopes
-0.15%
refactor: use Bytes instead of Arc<[u8]> for owned bytecode
9463608
1 month ago
by DaniPopes
0%
refactor: remove redundant cache_arc parameter in statetest runtime
9dc1460
1 month ago
by DaniPopes
0%
refactor: rename runtime_handle to handle
8cb8e92
1 month ago
by DaniPopes
+0.04%
fix: reset LLVM module between JIT jobs and use coordinator for statetest
911b62c
1 month ago
by DaniPopes
+0.35%
fix: merge main, resolve conflict in compiled.rs
522ee6e
1 month ago
by DaniPopes
-0.26%
Merge branch 'main' into dani/runtime
cffd834
1 month ago
by DaniPopes
-0.03%
refactor: remove lookup_disabled stat
cb75ec6
1 month ago
by DaniPopes
0%
feat: add alloy-evm bindings (JitEvm, JitEvmFactory)
caf27fd
1 month ago
by DaniPopes
-0.11%
refactor: align alloy-evm bindings with reth's revmc integration
697f3ee
1 month ago
by DaniPopes
0%
refactor: inline run_exec_loop_jit into Handler impl
ee06e64
1 month ago
by DaniPopes
0%
stuff
53d9fb4
1 month ago
by DaniPopes
+0.1%
feat: add compile_jit_sync for blocking JIT compilation
7f143e9
1 month ago
by DaniPopes
0%
rename
968a0e2
1 month ago
by DaniPopes
-0.11%
fix: use polling instead of compile_jit_sync in statetest
d49e6c1
1 month ago
by DaniPopes
-0.07%
chore: add debug spans to runtime coordinator and handle
55d79a0
1 month ago
by DaniPopes
+0.15%
perf: use unclamped worker count for statetest runtime mode
f800779
1 month ago
by DaniPopes
-0.14%
perf: use all cores for statetest runtime workers
93f8d8f
1 month ago
by DaniPopes
+0.04%
chore: rename worker threads to revmc-{i:02}
e7a91a0
1 month ago
by DaniPopes
+0.25%
refactor: use Bytes in requests, alloy_primitives::map::HashMap for coordinator
d3d7e8d
1 month ago
by DaniPopes
-0.11%
refactor: use compile_jit_sync in statetest instead of polling
79ce01d
1 month ago
by DaniPopes
0%
refactor: make compile_jit fire-and-forget
c10ac7f
1 month ago
by DaniPopes
0%
feat: add lookup_blocking to JitCoordinatorHandle
b2eea37
1 month ago
by DaniPopes
+0.21%
refactor: drop revmc_semver, compiler_fingerprint from ArtifactKey; add ABI_VERSION constant
87cb8e8
1 month ago
by DaniPopes
0%
chore: clippy
95fa253
1 month ago
by DaniPopes
-0.11%
Merge branch 'main' into dani/runtime
2739f0f
1 month ago
by DaniPopes
0%
lock
f7a2d54
1 month ago
by DaniPopes
-0.19%
Merge branch 'main' into dani/runtime
9facbf7
1 month ago
by DaniPopes
+0.75%
refactor: merge JitCoordinatorHandle into JitCoordinator, rename to JitBackend
168c83b
1 month ago
by DaniPopes
-0.02%
refactor: unify shutdown and Drop, remove Mutex from thread_done_rx
1ee6ace
1 month ago
by DaniPopes
-0.44%
refactor: pass sync notifier through worker instead of coordinator polling
dabf117
1 month ago
by DaniPopes
+0.75%
refactor: use crossbeam-channel with select! in coordinator loop
bc92f51
1 month ago
by DaniPopes
-0.54%
refactor: use tempfile crate for AOT temp dir
d47a682
1 month ago
by DaniPopes
0%
Merge branch 'main' into dani/runtime
837c132
1 month ago
by DaniPopes
-0.12%
Merge branch 'main' into dani/runtime
3e3524d
1 month ago
by DaniPopes
+0.17%
feat: add dump_dir to RuntimeConfig for compiler debug dumps
d5590ae
1 month ago
by DaniPopes
+0.01%
chore: remove unused approx_size_bytes from CompiledProgram
9f0e3dc
1 month ago
by DaniPopes
-0.33%
feat: add debug_assertions to RuntimeConfig, eviction, max bytecode len
a68866f
1 month ago
by DaniPopes
-0.17%
Merge branch 'main' into dani/runtime
f885861
1 month ago
by DaniPopes
+0.36%
refactor: make fire-and-forget enqueue APIs void
0b3b573
1 month ago
by DaniPopes
-0.08%
refactor: rename coordinator to backend
d6b0765
1 month ago
by DaniPopes
-0.03%
fix: restore shutdown calls and make shutdown public
24be41f
1 month ago
by DaniPopes
0%
chore: doc-hide shutdown
a40d179
1 month ago
by DaniPopes
-0.49%
fix: make shutdown pub(crate) + cfg(test)
13da878
1 month ago
by DaniPopes
+0.02%
Merge remote-tracking branch 'origin/main' into dani/runtime
ec8dce5
1 month ago
by DaniPopes
+0.02%
fix: queue sync notifiers for in-flight compile_jit requests
4c23ceb
1 month ago
by DaniPopes
+0.36%
feat: add jit_queue_len to RuntimeStatsSnapshot
4136ff8
1 month ago
by DaniPopes
+0.59%
fix: remove old LLVM module from execution engine in clear_ir
e3f90ed
1 month ago
by DaniPopes
-0.81%
Revert "fix: remove old LLVM module from execution engine in clear_ir"
996b1a7
1 month ago
by DaniPopes
+0.54%
Merge branch 'main' into dani/runtime
9219e5a
1 month ago
by DaniPopes
-0.02%
feat: add JitEvm, use revm sub-crate imports, add tests
57ece3a
1 month ago
by DaniPopes
0%
settings
bff2856
1 month ago
by DaniPopes
-0.45%
cleanup
a7379e3
1 month ago
by DaniPopes
+1.2%
Merge remote-tracking branch 'origin/main' into dani/runtime
ec782d5
1 month ago
by DaniPopes
-0.41%
docs
d07543d
1 month ago
by DaniPopes
+0.22%
feat: expose JIT memory usage in RuntimeStatsSnapshot
92fb4c6
1 month ago
by DaniPopes
-0.09%
refactor: use JIT memory plugin for eviction instead of manual tracking
0c83fdd
1 month ago
by DaniPopes
+0.09%
refactor: reuse JitEvm in statetest runtime mode
eb9eb06
1 month ago
by DaniPopes
-0.08%
refactor: remove unsafe lifetime laundering in statetests
22f44cd
1 month ago
by DaniPopes
-0.51%
perf: use quanta for faster Instant::now, fix budget eviction timing
d007c78
1 month ago
by DaniPopes
-0.05%
rm
8a69971
1 month ago
by DaniPopes
+0.73%
feat: expose evictions, jit_promotions, jit_successes, jit_failures in stats snapshot
64917c2
1 month ago
by DaniPopes
-0.53%
feat: add on_compilation callback for metrics integration
6e80778
1 month ago
by DaniPopes
+0.25%
feat: expose per-phase CompileTimings from compiler
d7dcc6d
1 month ago
by DaniPopes
-0.55%
chore: default resident cache to 1 GiB, idle eviction to 600s
970b9ed
1 month ago
by DaniPopes
+0.02%
chore: clippy
d54a5ac
1 month ago
by DaniPopes
-0.49%
refactor: drop JitHandler, wrap InnerEvm in revm_evm::JitEvm
922da2f
30 days ago
by DaniPopes
+0.59%
fix: remove redundant clones
ddfc21d
29 days ago
by DaniPopes
+0.01%
stuff
0598720
29 days ago
by DaniPopes
+0.12%
chore: clear some more
46fb28d
29 days ago
by DaniPopes
-0.02%
Merge branch 'main' into dani/runtime
1c7c7c2
29 days ago
by DaniPopes
-0.67%
fix: adapt worker to EvmLlvmBackend::new API change
77c3493
28 days ago
by DaniPopes
+0.02%
tests
920a4f3
28 days ago
by DaniPopes
-0.06%
merge: main into dani/runtime
cf8e3d7
21 days ago
by DaniPopes
+0.06%
chore(deps): bump alloy-evm to 0.30
4cdd9a2
21 days ago
by DaniPopes
+0.26%
merge: main into dani/runtime
4793997
21 days ago
by DaniPopes
-0.23%
Merge branch 'main' into dani/runtime
c438a67
20 days ago
by DaniPopes
+0.34%
debugs
a83560c
20 days ago
by DaniPopes
+0.03%
refactor: lazy backend thread spawning, merge start into new
86ae640
20 days ago
by DaniPopes
+0.24%
feat: add on_log callback to EvmContext for inline inspector dispatch
f589549
20 days ago
by DaniPopes
-0.1%
Merge branch 'main' into dani/runtime
ad85ff0
20 days ago
by DaniPopes
-0.28%
Merge branch 'main' into dani/runtime
4ea9986
19 days ago
by DaniPopes
-0.02%
fix: propagate store preload errors on startup
06cbb76
19 days ago
by DaniPopes
-0.15%
get_compiled_stats
a25bb97
19 days ago
by DaniPopes
+0.1%
final memory leak
ab1c423
18 days ago
by DaniPopes
-0.18%
Merge remote-tracking branch 'origin/main' into dani/runtime
4f38983
18 days ago
by DaniPopes
-0.08%
Merge remote-tracking branch 'origin/main' into dani/runtime
7f54c40
18 days ago
by DaniPopes
-0.06%
cleans
38850f7
18 days ago
by DaniPopes
-0.26%
fix: use renamed set_dedup/set_dse methods
c3a7f34
17 days ago
by DaniPopes
+0.01%
expose
e11954a
16 days ago
by DaniPopes
+0.03%
usize
e7ef4ec
16 days ago
by DaniPopes
+13.34%
fix: remove leaked Failed and stale Working entries from backend
e21fba6
11 days ago
by DaniPopes
-13.02%
fix
7728e8b
11 days ago
by DaniPopes
+0.12%
fix: remove cfg_env from Evm impl
9d2692b
11 days ago
by DaniPopes
+0.62%
Merge branch 'main' into dani/runtime
e088ef2
4 days ago
by DaniPopes
-0.11%
feat: impl state gas
b4584e5
4 days ago
by DaniPopes
+0.08%
order
78dbd6f
4 days ago
by DaniPopes
+0.9%
fix: remove noalias/writable attrs that cause LLVM miscompilation
50a2be7
4 days ago
by DaniPopes
-1.78%
refactor: rename simple_jit_evm to simple_revm_evm, sync impls
085b014
3 days ago
by DaniPopes
+0.31%
fix
d6afcdc
3 days ago
by DaniPopes
-0.17%
refactor: BackendState::handle, simplify run loop, reorder CompiledProgram fields
3ea116b
2 days ago
by DaniPopes
+0.14%
test: rewrite memory_budget_eviction to wait on evictions counter
e0b4610
2 days ago
by DaniPopes
-11.81%
copy elision
c399e87
2 days ago
by DaniPopes
0%
fixes
6384050
2 days ago
by DaniPopes
-3.99%
rmjit
f5268a0
15 hours ago
by DaniPopes
0%
chore: spring cleaning
1a05612
15 hours ago
by DaniPopes
0%
feat: use work stealing runtime workers
8a02a76
14 hours ago
by DaniPopes
+15.98%
lto
df43290
14 hours ago
by DaniPopes
-0.19%
refactor: split codegen and runtime crates
2b43fa9
14 hours ago
by DaniPopes
+0.03%
clean
206385e
14 hours ago
by DaniPopes
+0.03%
test: move statetests to revmc
f386814
13 hours ago
by DaniPopes
-0.1%
test
a6ebd0c
13 hours ago
by DaniPopes
-0.17%
fix(statetest): force progress rendering
ff4f81b
13 hours ago
by DaniPopes
+0.25%
refactor(runtime): use rayon worker pool
42490e8
12 hours ago
by DaniPopes
-0.01%
fix(runtime): clear worker compilers on shutdown
51346c9
12 hours ago
by DaniPopes
-0.05%
fix(runtime): avoid worker teardown races
1d7b836
12 hours ago
by DaniPopes
-0.04%
fix(runtime): no-op explicit compiles without workers
5fc801d
12 hours ago
by DaniPopes
+0.06%
revert: no-op explicit compiles without workers
d724410
12 hours ago
by DaniPopes
-0.06%
test(runtime): avoid compile in miss counter test
9b7a479
11 hours ago
by DaniPopes
0%
Revert "test(runtime): avoid compile in miss counter test"
f3cf7a1
11 hours ago
by DaniPopes
+0.11%
fix(runtime): avoid thread-local compilers
622704b
11 hours ago
by DaniPopes
-0.09%
Revert "fix(runtime): avoid thread-local compilers"
40dde4e
11 hours ago
by DaniPopes
© 2026 CodSpeed Technology
Home Terms Privacy Docs