Skip to content

Conversation

@mkroening
Copy link
Member

@mkroening mkroening commented Nov 26, 2025

See hermit-os/hermit-rs#864 for Rust support.

@mkroening mkroening self-assigned this Nov 26, 2025
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: 3488a00 Previous: 1caea89 Performance Ratio
startup_benchmark Build Time 116.25 s 113.59 s 1.02
startup_benchmark File Size 0.87 MB 0.88 MB 1.00
Startup Time - 1 core 1.01 s (±0.02 s) 1.00 s (±0.02 s) 1.00
Startup Time - 2 cores 1.00 s (±0.02 s) 1.00 s (±0.03 s) 1.00
Startup Time - 4 cores 1.00 s (±0.03 s) 1.00 s (±0.03 s) 1.00
multithreaded_benchmark Build Time 113.82 s 112.31 s 1.01
multithreaded_benchmark File Size 0.97 MB 0.97 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 90.24 % (±8.93 %) 91.87 % (±5.48 %) 0.98
Multithreaded Pi Efficiency - 4 Threads 44.90 % (±3.87 %) 45.62 % (±1.52 %) 0.98
Multithreaded Pi Efficiency - 8 Threads 25.54 % (±1.80 %) 26.92 % (±1.71 %) 0.95
micro_benchmarks Build Time 299.54 s 300.90 s 1.00
micro_benchmarks File Size 0.98 MB 0.98 MB 1.00
Scheduling time - 1 thread 177.70 ticks (±39.54 ticks) 188.89 ticks (±35.95 ticks) 0.94
Scheduling time - 2 threads 106.96 ticks (±18.48 ticks) 109.29 ticks (±17.74 ticks) 0.98
Micro - Time for syscall (getpid) 13.32 ticks (±11.17 ticks) 11.44 ticks (±6.11 ticks) 1.16
Memcpy speed - (built_in) block size 4096 58013.36 MByte/s (±42053.36 MByte/s) 58218.35 MByte/s (±41749.13 MByte/s) 1.00
Memcpy speed - (built_in) block size 1048576 13417.96 MByte/s (±11133.25 MByte/s) 13322.31 MByte/s (±11078.57 MByte/s) 1.01
Memcpy speed - (built_in) block size 16777216 9549.06 MByte/s (±7701.91 MByte/s) 9632.94 MByte/s (±7763.00 MByte/s) 0.99
Memset speed - (built_in) block size 4096 58347.65 MByte/s (±42237.36 MByte/s) 58627.12 MByte/s (±42001.83 MByte/s) 1.00
Memset speed - (built_in) block size 1048576 13814.85 MByte/s (±11357.29 MByte/s) 13664.11 MByte/s (±11297.52 MByte/s) 1.01
Memset speed - (built_in) block size 16777216 9698.18 MByte/s (±7768.97 MByte/s) 9828.35 MByte/s (±7867.40 MByte/s) 0.99
Memcpy speed - (rust) block size 4096 54026.39 MByte/s (±39187.70 MByte/s) 51942.01 MByte/s (±38359.80 MByte/s) 1.04
Memcpy speed - (rust) block size 1048576 13940.59 MByte/s (±12335.87 MByte/s) 12839.06 MByte/s (±10483.71 MByte/s) 1.09
Memcpy speed - (rust) block size 16777216 9622.12 MByte/s (±7763.13 MByte/s) 9531.71 MByte/s (±7678.70 MByte/s) 1.01
Memset speed - (rust) block size 4096 54695.52 MByte/s (±39523.74 MByte/s) 53011.14 MByte/s (±39115.85 MByte/s) 1.03
Memset speed - (rust) block size 1048576 14083.76 MByte/s (±12377.28 MByte/s) 13244.14 MByte/s (±10750.32 MByte/s) 1.06
Memset speed - (rust) block size 16777216 9816.08 MByte/s (±7863.53 MByte/s) 9722.67 MByte/s (±7778.13 MByte/s) 1.01
alloc_benchmarks Build Time 295.49 s 302.31 s 0.98
alloc_benchmarks File Size 0.95 MB 0.95 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 27055.02 Ticks (±1669.08 Ticks) 26215.84 Ticks (±1230.11 Ticks) 1.03
Allocations - Average Allocation time (no fail) 27055.02 Ticks (±1669.08 Ticks) 26215.84 Ticks (±1230.11 Ticks) 1.03
Allocations - Average Deallocation time 3226.81 Ticks (±1440.86 Ticks) 3319.78 Ticks (±1756.11 Ticks) 0.97
mutex_benchmark Build Time 296.54 s 301.33 s 0.98
mutex_benchmark File Size 0.98 MB 0.98 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 38.10 ns (±4.75 ns) 38.48 ns (±4.89 ns) 0.99
Mutex Stress Test Average Time per Iteration - 2 Threads 31.08 ns (±3.77 ns) 31.68 ns (±3.36 ns) 0.98

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

@mkroening mkroening force-pushed the hermit-rustflags branch 4 times, most recently from 954d700 to 3fe6cb3 Compare November 28, 2025 10:11
@mkroening mkroening changed the title feat: add HERMIT_RUSTFLAGS for allowing LTO kernels feat: add HERMIT_RUSTFLAGS for allowing LTO kernels and more Nov 28, 2025
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