Skip to content

feat: make loader and uhyve non-default features - #2645

Open
mkroening wants to merge 1 commit into
mainfrom
no-default-loader-uhyve
Open

feat: make loader and uhyve non-default features#2645
mkroening wants to merge 1 commit into
mainfrom
no-default-loader-uhyve

Conversation

@mkroening

Copy link
Copy Markdown
Member

This PR prepares for:

Currently, PVH is mutually exclusive with loader and uhyve and I don't think it is worth the effort to support multiple distinct start info structs at the same time. This PR makes loader and uhyve non-default features, so any start method needs to be opted into.

@mkroening mkroening self-assigned this Aug 16, 2026
@mkroening
mkroening force-pushed the no-default-loader-uhyve branch from 321a840 to 4808bcf Compare August 16, 2026 10:52
@mkroening
mkroening marked this pull request as ready for review August 16, 2026 12:10
@mkroening
mkroening requested a review from jounathaen August 16, 2026 12:10

@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: 1ab8a3c Previous: 2e23902 Performance Ratio
startup_benchmark Build Time 94.11 s 80.34 s 1.17
startup_benchmark File Size 0.78 MB 0.80 MB 0.98
Startup Time - 1 core 0.80 s (±0.01 s) 0.75 s (±0.02 s) 1.07
Startup Time - 2 cores 0.80 s (±0.02 s) 0.74 s (±0.02 s) 1.09
Startup Time - 4 cores 0.80 s (±0.02 s) 0.74 s (±0.02 s) 1.08
multithreaded_benchmark Build Time 91.66 s 82.11 s 1.12
multithreaded_benchmark File Size 0.88 MB 0.86 MB 1.03
Multithreaded Pi Efficiency - 2 Threads 66.07 % (±4.25 %) 85.89 % (±6.61 %) 0.77
Multithreaded Pi Efficiency - 4 Threads 39.11 % (±3.48 %) 43.43 % (±2.56 %) 0.90
Multithreaded Pi Efficiency - 8 Threads 19.22 % (±1.51 %) 25.76 % (±1.53 %) 0.75
micro_benchmarks Build Time 211.36 s 80.40 s 2.63
micro_benchmarks File Size 0.89 MB 0.86 MB 1.03
Scheduling time - 1 thread 186.85 ticks (±35.97 ticks) 62.65 ticks (±4.06 ticks) 2.98
Scheduling time - 2 threads 111.44 ticks (±20.78 ticks) 34.08 ticks (±4.10 ticks) 3.27
Micro - Time for syscall (getpid) 11.43 ticks (±4.43 ticks) 3.45 ticks (±0.58 ticks) 3.31
Memcpy speed - (built_in) block size 4096 55778.79 MByte/s (±39993.83 MByte/s) 82448.38 MByte/s (±56997.13 MByte/s) 0.68
Memcpy speed - (built_in) block size 1048576 12941.90 MByte/s (±10425.06 MByte/s) 30585.98 MByte/s (±24707.84 MByte/s) 0.42
Memcpy speed - (built_in) block size 16777216 11091.85 MByte/s (±9081.54 MByte/s) 26340.06 MByte/s (±21720.96 MByte/s) 0.42
Memset speed - (built_in) block size 4096 55961.62 MByte/s (±40112.92 MByte/s) 82292.76 MByte/s (±56891.50 MByte/s) 0.68
Memset speed - (built_in) block size 1048576 13124.68 MByte/s (±10524.59 MByte/s) 31323.85 MByte/s (±25145.86 MByte/s) 0.42
Memset speed - (built_in) block size 16777216 11327.68 MByte/s (±9196.60 MByte/s) 27104.68 MByte/s (±22209.94 MByte/s) 0.42
Memcpy speed - (rust) block size 4096 51886.48 MByte/s (±37027.97 MByte/s) 74097.96 MByte/s (±51811.44 MByte/s) 0.70
Memcpy speed - (rust) block size 1048576 16088.48 MByte/s (±14555.92 MByte/s) 30361.60 MByte/s (±24602.37 MByte/s) 0.53
Memcpy speed - (rust) block size 16777216 12984.09 MByte/s (±11280.94 MByte/s) 27625.34 MByte/s (±22806.88 MByte/s) 0.47
Memset speed - (rust) block size 4096 53187.31 MByte/s (±37550.25 MByte/s) 74373.47 MByte/s (±51976.48 MByte/s) 0.72
Memset speed - (rust) block size 1048576 16416.52 MByte/s (±14676.56 MByte/s) 31110.89 MByte/s (±25033.24 MByte/s) 0.53
Memset speed - (rust) block size 16777216 13215.10 MByte/s (±11368.71 MByte/s) 28386.93 MByte/s (±23265.03 MByte/s) 0.47
alloc_benchmarks Build Time 211.84 s 74.76 s 2.83
alloc_benchmarks File Size 0.86 MB 0.87 MB 0.98
Allocations - Allocation success 91.35 % 91.31 % 1.00
Allocations - Deallocation success 100.00 % 100.00 % 1
Allocations - Pre-fail Allocations 61.55 % 61.44 % 1.00
Allocations - Average Allocation time 18166.61 Ticks (±1273.55 Ticks) 5860.58 Ticks (±98.43 Ticks) 3.10
Allocations - Average Allocation time (no fail) 19230.89 Ticks (±1586.40 Ticks) 6554.81 Ticks (±92.86 Ticks) 2.93
Allocations - Average Deallocation time 4475.91 Ticks (±1239.90 Ticks) 1805.01 Ticks (±250.35 Ticks) 2.48
mutex_benchmark Build Time 209.51 s 79.82 s 2.62
mutex_benchmark File Size 0.89 MB 0.86 MB 1.03
Mutex Stress Test Average Time per Iteration - 1 Threads 35.82 ns (±7.59 ns) 12.10 ns (±0.41 ns) 2.96
Mutex Stress Test Average Time per Iteration - 2 Threads 32.52 ns (±8.43 ns) 40.26 ns (±1.68 ns) 0.81

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant