Skip to content

Conversation

@mkroening
Copy link
Member

Extracted and extended from #2078.

@mkroening mkroening requested a review from fogti November 28, 2025 09:18
@mkroening mkroening self-assigned this Nov 28, 2025
Co-authored-by: Martin Kröning <mkroening@posteo.net>
@mkroening mkroening added this pull request to the merge queue Nov 28, 2025
@mkroening
Copy link
Member Author

Thanks for this, @fogti! :)

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark Results

Benchmark Current: b4d1303 Previous: f250a72 Performance Ratio
startup_benchmark Build Time 119.01 s 114.41 s 1.04
startup_benchmark File Size 0.91 MB 0.91 MB 1.00
Startup Time - 1 core 0.99 s (±0.02 s) 0.98 s (±0.03 s) 1.01
Startup Time - 2 cores 0.98 s (±0.03 s) 0.97 s (±0.03 s) 1.01
Startup Time - 4 cores 1.00 s (±0.03 s) 0.98 s (±0.02 s) 1.02
multithreaded_benchmark Build Time 116.79 s 113.19 s 1.03
multithreaded_benchmark File Size 1.02 MB 1.02 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 91.35 % (±9.15 %) 87.29 % (±8.93 %) 1.05
Multithreaded Pi Efficiency - 4 Threads 45.56 % (±2.66 %) 44.54 % (±3.35 %) 1.02
Multithreaded Pi Efficiency - 8 Threads 25.84 % (±2.00 %) 25.47 % (±2.04 %) 1.01
micro_benchmarks Build Time 329.94 s 309.36 s 1.07
micro_benchmarks File Size 1.02 MB 1.02 MB 1.00
Scheduling time - 1 thread 191.13 ticks (±27.44 ticks) 187.65 ticks (±29.91 ticks) 1.02
Scheduling time - 2 threads 107.79 ticks (±19.41 ticks) 104.76 ticks (±17.67 ticks) 1.03
Micro - Time for syscall (getpid) 12.49 ticks (±5.91 ticks) 10.70 ticks (±5.34 ticks) 1.17
Memcpy speed - (built_in) block size 4096 58053.24 MByte/s (±41893.10 MByte/s) 54842.67 MByte/s (±40303.19 MByte/s) 1.06
Memcpy speed - (built_in) block size 1048576 13826.88 MByte/s (±11444.51 MByte/s) 13435.52 MByte/s (±11081.00 MByte/s) 1.03
Memcpy speed - (built_in) block size 16777216 9409.27 MByte/s (±7566.86 MByte/s) 8827.85 MByte/s (±7024.29 MByte/s) 1.07
Memset speed - (built_in) block size 4096 58294.87 MByte/s (±42036.79 MByte/s) 55412.19 MByte/s (±40719.84 MByte/s) 1.05
Memset speed - (built_in) block size 1048576 14238.03 MByte/s (±11700.59 MByte/s) 13825.19 MByte/s (±11354.50 MByte/s) 1.03
Memset speed - (built_in) block size 16777216 9565.95 MByte/s (±7639.30 MByte/s) 9064.78 MByte/s (±7183.52 MByte/s) 1.06
Memcpy speed - (rust) block size 4096 51462.66 MByte/s (±38777.97 MByte/s) 46733.78 MByte/s (±35123.32 MByte/s) 1.10
Memcpy speed - (rust) block size 1048576 13680.94 MByte/s (±11208.64 MByte/s) 13310.91 MByte/s (±11037.27 MByte/s) 1.03
Memcpy speed - (rust) block size 16777216 9205.19 MByte/s (±7390.92 MByte/s) 8766.51 MByte/s (±6990.65 MByte/s) 1.05
Memset speed - (rust) block size 4096 51713.28 MByte/s (±38936.04 MByte/s) 47375.28 MByte/s (±35607.36 MByte/s) 1.09
Memset speed - (rust) block size 1048576 13906.16 MByte/s (±11316.46 MByte/s) 13688.04 MByte/s (±11281.91 MByte/s) 1.02
Memset speed - (rust) block size 16777216 9375.53 MByte/s (±7475.66 MByte/s) 8977.13 MByte/s (±7121.99 MByte/s) 1.04
alloc_benchmarks Build Time 309.46 s 306.61 s 1.01
alloc_benchmarks File Size 0.98 MB 0.98 MB 1.00
Allocations - Allocation success 100.00 % 100.00 % 1
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 100.00 % 100.00 % 1
Allocations - Average Allocation time 27169.57 Ticks (±1557.69 Ticks) 29955.30 Ticks (±1520.78 Ticks) 0.91
Allocations - Average Allocation time (no fail) 27169.57 Ticks (±1557.69 Ticks) 29955.30 Ticks (±1520.78 Ticks) 0.91
Allocations - Average Deallocation time 2997.40 Ticks (±1069.88 Ticks) 3417.72 Ticks (±1315.22 Ticks) 0.88
mutex_benchmark Build Time 304.43 s 309.20 s 0.98
mutex_benchmark File Size 1.02 MB 1.02 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 39.20 ns (±4.76 ns) 38.04 ns (±4.45 ns) 1.03
Mutex Stress Test Average Time per Iteration - 2 Threads 32.20 ns (±3.10 ns) 31.30 ns (±2.92 ns) 1.03

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

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 28, 2025
@mkroening mkroening added this pull request to the merge queue Nov 28, 2025
@fogti
Copy link
Contributor

fogti commented Nov 28, 2025

2025-11-28T11:46:49.6715278Z $ sudo /home/runner/.cargo/bin/uhyve --cpu-count=1 /home/runner/work/kernel/kernel/target/x86_64-unknown-hermit/release/rusty_demo
2025-11-28T11:46:49.6798573Z [ERROR uhyvelib::vm] CPU 0 crashed with IOError(Custom { kind: Other, error: "VcpuExitFailEntry { hardware_entry_failure_reason: 0, cpu: 0 }" })
2025-11-28T11:46:49.6853214Z 
2025-11-28T11:46:49.6853587Z thread 'main' (22522) panicked at src/vm.rs:376:18:
2025-11-28T11:46:49.6853941Z No return code from any CPU? Maybe all have been kick
2025-11-28T11:46:49.6854206Z d?

ffs

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 28, 2025
@fogti
Copy link
Contributor

fogti commented Nov 28, 2025

@mkroening You'll have to re-schedule it.

@mkroening mkroening added this pull request to the merge queue Nov 28, 2025
Merged via the queue into main with commit 888138f Nov 28, 2025
19 checks passed
@mkroening mkroening deleted the fs-mem-import branch December 1, 2025 13:18
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.

3 participants