Skip to content

feat(xtask): add support for custom VMM and Hermit args#2540

Open
mkroening wants to merge 1 commit into
mainfrom
xtask-args
Open

feat(xtask): add support for custom VMM and Hermit args#2540
mkroening wants to merge 1 commit into
mainfrom
xtask-args

Conversation

@mkroening

Copy link
Copy Markdown
Member

This PR adds support for passing custom arguments to VMM and Hermit when using xtask. This allows you to set runtime environment variables via Hermit arguments, for example, which is necessary for #2416 to be useful.

Instead of

HERMIT_LOG_LEVEL_FILTER=trace cargo xtask ci rs --arch x86_64 --package rusty_demo qemu

You would now do

cargo xtask ci rs --arch x86_64 --package rusty_demo qemu -- -- env=HERMIT_LOG_LEVEL_FILTER=trace

@mkroening mkroening self-assigned this Jul 9, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark Results

Details
Benchmark Current: 9285a7f Previous: 496a427 Performance Ratio
startup_benchmark Build Time 82.26 s 80.41 s 1.02
startup_benchmark File Size 0.80 MB 0.80 MB 1.00
Startup Time - 1 core 0.75 s (±0.03 s) 0.73 s (±0.02 s) 1.02
Startup Time - 2 cores 0.75 s (±0.01 s) 0.73 s (±0.02 s) 1.02
Startup Time - 4 cores 0.76 s (±0.02 s) 0.74 s (±0.02 s) 1.02
multithreaded_benchmark Build Time 81.91 s 81.45 s 1.01
multithreaded_benchmark File Size 0.86 MB 0.86 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 88.84 % (±4.46 %) 89.19 % (±7.29 %) 1.00
Multithreaded Pi Efficiency - 4 Threads 44.14 % (±2.14 %) 43.23 % (±2.22 %) 1.02
Multithreaded Pi Efficiency - 8 Threads 25.64 % (±1.29 %) 25.70 % (±1.35 %) 1.00
micro_benchmarks Build Time 81.15 s 80.50 s 1.01
micro_benchmarks File Size 0.86 MB 0.86 MB 1.00
Scheduling time - 1 thread 61.95 ticks (±3.56 ticks) 61.77 ticks (±3.53 ticks) 1.00
Scheduling time - 2 threads 34.68 ticks (±4.60 ticks) 34.80 ticks (±4.41 ticks) 1.00
Micro - Time for syscall (getpid) 3.37 ticks (±0.53 ticks) 3.24 ticks (±0.53 ticks) 1.04
Memcpy speed - (built_in) block size 4096 81493.73 MByte/s (±56522.39 MByte/s) 82518.62 MByte/s (±57031.72 MByte/s) 0.99
Memcpy speed - (built_in) block size 1048576 30682.25 MByte/s (±24745.08 MByte/s) 30748.73 MByte/s (±24797.64 MByte/s) 1.00
Memcpy speed - (built_in) block size 16777216 26718.58 MByte/s (±22056.06 MByte/s) 26790.22 MByte/s (±22121.79 MByte/s) 1.00
Memset speed - (built_in) block size 4096 81926.81 MByte/s (±56825.80 MByte/s) 82944.82 MByte/s (±57257.89 MByte/s) 0.99
Memset speed - (built_in) block size 1048576 31406.37 MByte/s (±25171.20 MByte/s) 31513.05 MByte/s (±25249.82 MByte/s) 1.00
Memset speed - (built_in) block size 16777216 27497.09 MByte/s (±22552.58 MByte/s) 27578.05 MByte/s (±22634.55 MByte/s) 1.00
Memcpy speed - (rust) block size 4096 76738.40 MByte/s (±53395.45 MByte/s) 77062.45 MByte/s (±53546.55 MByte/s) 1.00
Memcpy speed - (rust) block size 1048576 30476.69 MByte/s (±24645.71 MByte/s) 30445.41 MByte/s (±24660.75 MByte/s) 1.00
Memcpy speed - (rust) block size 16777216 27434.58 MByte/s (±22694.18 MByte/s) 27553.35 MByte/s (±22787.50 MByte/s) 1.00
Memset speed - (rust) block size 4096 77016.78 MByte/s (±53581.24 MByte/s) 77521.43 MByte/s (±53878.01 MByte/s) 0.99
Memset speed - (rust) block size 1048576 31225.35 MByte/s (±25078.41 MByte/s) 31217.22 MByte/s (±25122.56 MByte/s) 1.00
Memset speed - (rust) block size 16777216 28206.89 MByte/s (±23171.24 MByte/s) 28357.26 MByte/s (±23299.40 MByte/s) 0.99
alloc_benchmarks Build Time 74.89 s 75.20 s 1.00
alloc_benchmarks File Size 0.87 MB 0.87 MB 1.00
Allocations - Allocation success 91.31 % 91.31 % 1
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 61.44 % 61.44 % 1
Allocations - Average Allocation time 4359.83 Ticks (±644.48 Ticks) 5199.04 Ticks (±177.30 Ticks) 0.84
Allocations - Average Allocation time (no fail) 5310.50 Ticks (±593.07 Ticks) 5969.39 Ticks (±137.74 Ticks) 0.89
Allocations - Average Deallocation time 1816.70 Ticks (±303.14 Ticks) 1612.60 Ticks (±268.46 Ticks) 1.13
mutex_benchmark Build Time 106.19 s 76.02 s 1.40
mutex_benchmark File Size 0.86 MB 0.86 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 12.40 ns (±0.57 ns) 11.94 ns (±0.37 ns) 1.04
Mutex Stress Test Average Time per Iteration - 2 Threads 41.46 ns (±2.79 ns) 40.06 ns (±2.30 ns) 1.03

This comment was automatically generated by workflow using github-action-benchmark.

Comment thread xtask/src/ci/firecracker.rs Outdated
Comment thread xtask/src/ci/uhyve.rs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants