Skip to content

build(deps): only enable used nightly features for the x86_64 crate#2559

Merged
mkroening merged 1 commit into
mainfrom
x86_64-nightly-features
Jul 20, 2026
Merged

build(deps): only enable used nightly features for the x86_64 crate#2559
mkroening merged 1 commit into
mainfrom
x86_64-nightly-features

Conversation

@mkroening

Copy link
Copy Markdown
Member

The x86_64 crate provides a nightly feature, which enables the const_fn, step_trait, abi_x86_interrupt, and asm_const features. The step_trait was changed backwards-incompatibly in a recent nightly Rust version.

This PR disables unused nightly features of the x86_64 crate to reduce the number of nightly changes breaking compilation for us.

This PR should unblock the following two PRs:

@mkroening mkroening self-assigned this Jul 20, 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: 528235c Previous: 2e23902 Performance Ratio
startup_benchmark Build Time 90.96 s 80.34 s 1.13
startup_benchmark File Size 0.80 MB 0.80 MB 1.00
Startup Time - 1 core 0.73 s (±0.02 s) 0.75 s (±0.02 s) 0.98
Startup Time - 2 cores 0.74 s (±0.02 s) 0.74 s (±0.02 s) 1.00
Startup Time - 4 cores 0.75 s (±0.03 s) 0.74 s (±0.02 s) 1.01
multithreaded_benchmark Build Time 83.77 s 82.11 s 1.02
multithreaded_benchmark File Size 0.86 MB 0.86 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 88.03 % (±5.96 %) 85.89 % (±6.61 %) 1.02
Multithreaded Pi Efficiency - 4 Threads 43.94 % (±2.00 %) 43.43 % (±2.56 %) 1.01
Multithreaded Pi Efficiency - 8 Threads 25.34 % (±1.36 %) 25.76 % (±1.53 %) 0.98
micro_benchmarks Build Time 95.51 s 80.40 s 1.19
micro_benchmarks File Size 0.86 MB 0.86 MB 1.00
Scheduling time - 1 thread 62.59 ticks (±2.27 ticks) 62.65 ticks (±4.06 ticks) 1.00
Scheduling time - 2 threads 35.30 ticks (±5.12 ticks) 34.08 ticks (±4.10 ticks) 1.04
Micro - Time for syscall (getpid) 4.28 ticks (±0.77 ticks) 3.45 ticks (±0.58 ticks) 1.24
Memcpy speed - (built_in) block size 4096 80924.18 MByte/s (±56127.55 MByte/s) 82448.38 MByte/s (±56997.13 MByte/s) 0.98
Memcpy speed - (built_in) block size 1048576 30607.51 MByte/s (±24728.29 MByte/s) 30585.98 MByte/s (±24707.84 MByte/s) 1.00
Memcpy speed - (built_in) block size 16777216 27669.27 MByte/s (±22869.67 MByte/s) 26340.06 MByte/s (±21720.96 MByte/s) 1.05
Memset speed - (built_in) block size 4096 81411.64 MByte/s (±56446.36 MByte/s) 82292.76 MByte/s (±56891.50 MByte/s) 0.99
Memset speed - (built_in) block size 1048576 31332.20 MByte/s (±25144.15 MByte/s) 31323.85 MByte/s (±25145.86 MByte/s) 1.00
Memset speed - (built_in) block size 16777216 28437.56 MByte/s (±23338.86 MByte/s) 27104.68 MByte/s (±22209.94 MByte/s) 1.05
Memcpy speed - (rust) block size 4096 74669.87 MByte/s (±51935.42 MByte/s) 74097.96 MByte/s (±51811.44 MByte/s) 1.01
Memcpy speed - (rust) block size 1048576 30495.83 MByte/s (±24721.36 MByte/s) 30361.60 MByte/s (±24602.37 MByte/s) 1.00
Memcpy speed - (rust) block size 16777216 26645.98 MByte/s (±22095.77 MByte/s) 27625.34 MByte/s (±22806.88 MByte/s) 0.96
Memset speed - (rust) block size 4096 75179.29 MByte/s (±52309.30 MByte/s) 74373.47 MByte/s (±51976.48 MByte/s) 1.01
Memset speed - (rust) block size 1048576 31236.26 MByte/s (±25151.75 MByte/s) 31110.89 MByte/s (±25033.24 MByte/s) 1.00
Memset speed - (rust) block size 16777216 27411.43 MByte/s (±22579.57 MByte/s) 28386.93 MByte/s (±23265.03 MByte/s) 0.97
alloc_benchmarks Build Time 75.46 s 74.76 s 1.01
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 2824.10 Ticks (±1104.04 Ticks) 5860.58 Ticks (±98.43 Ticks) 0.48
Allocations - Average Allocation time (no fail) 3895.72 Ticks (±1024.25 Ticks) 6554.81 Ticks (±92.86 Ticks) 0.59
Allocations - Average Deallocation time 786.12 Ticks (±276.47 Ticks) 1805.01 Ticks (±250.35 Ticks) 0.44
mutex_benchmark Build Time 81.40 s 79.82 s 1.02
mutex_benchmark File Size 0.86 MB 0.86 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 12.04 ns (±0.28 ns) 12.10 ns (±0.41 ns) 1.00
Mutex Stress Test Average Time per Iteration - 2 Threads 39.06 ns (±2.42 ns) 40.26 ns (±1.68 ns) 0.97

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

@mkroening
mkroening enabled auto-merge July 20, 2026 09:18
@mkroening
mkroening added this pull request to the merge queue Jul 20, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 20, 2026
@mkroening
mkroening added this pull request to the merge queue Jul 20, 2026
Merged via the queue into main with commit c12be6d Jul 20, 2026
20 checks passed
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.

1 participant