Skip to content

Conversation

@udaykiriti
Copy link

No description provided.

I've made some small, improvements to the virtio drivers. :|
This commit optimizes queue selection for both MMIO and PCI to skip redundant register writes.
Eliminated double FDT iteration in physicalmem.rs,,,Simplified futex.rs control flow
@mkroening mkroening self-assigned this Dec 23, 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

Details
Benchmark Current: 7bb0eb7 Previous: cb6e911 Performance Ratio
startup_benchmark Build Time 111.80 s 115.66 s 0.97
startup_benchmark File Size 0.87 MB 0.87 MB 1.00
Startup Time - 1 core 0.98 s (±0.02 s) 0.99 s (±0.03 s) 0.99
Startup Time - 2 cores 0.99 s (±0.02 s) 0.97 s (±0.03 s) 1.02
Startup Time - 4 cores 0.98 s (±0.02 s) 1.01 s (±0.03 s) 0.97
multithreaded_benchmark Build Time 112.28 s 120.00 s 0.94
multithreaded_benchmark File Size 0.97 MB 0.97 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 88.78 % (±9.15 %) 89.06 % (±8.05 %) 1.00
Multithreaded Pi Efficiency - 4 Threads 43.23 % (±3.74 %) 43.30 % (±3.47 %) 1.00
Multithreaded Pi Efficiency - 8 Threads 25.03 % (±2.67 %) 24.79 % (±1.70 %) 1.01
micro_benchmarks Build Time 194.46 s 192.67 s 1.01
micro_benchmarks File Size 0.98 MB 0.98 MB 1.00
Scheduling time - 1 thread 70.68 ticks (±3.67 ticks) 70.64 ticks (±4.16 ticks) 1.00
Scheduling time - 2 threads 56.82 ticks (±17.45 ticks) 60.42 ticks (±15.75 ticks) 0.94
Micro - Time for syscall (getpid) 4.46 ticks (±0.36 ticks) 4.43 ticks (±0.29 ticks) 1.01
Memcpy speed - (built_in) block size 4096 60634.83 MByte/s (±42777.11 MByte/s) 59122.94 MByte/s (±41485.25 MByte/s) 1.03
Memcpy speed - (built_in) block size 1048576 28611.78 MByte/s (±23793.27 MByte/s) 28866.32 MByte/s (±23748.00 MByte/s) 0.99
Memcpy speed - (built_in) block size 16777216 27069.47 MByte/s (±22554.89 MByte/s) 27456.71 MByte/s (±22950.41 MByte/s) 0.99
Memset speed - (built_in) block size 4096 60922.49 MByte/s (±42973.48 MByte/s) 59640.48 MByte/s (±41808.84 MByte/s) 1.02
Memset speed - (built_in) block size 1048576 29364.74 MByte/s (±24223.37 MByte/s) 29632.81 MByte/s (±24180.57 MByte/s) 0.99
Memset speed - (built_in) block size 16777216 27797.06 MByte/s (±22963.76 MByte/s) 28182.25 MByte/s (±23354.43 MByte/s) 0.99
Memcpy speed - (rust) block size 4096 52619.47 MByte/s (±38710.17 MByte/s) 52636.64 MByte/s (±38589.35 MByte/s) 1.00
Memcpy speed - (rust) block size 1048576 28220.44 MByte/s (±23679.17 MByte/s) 28562.83 MByte/s (±23728.98 MByte/s) 0.99
Memcpy speed - (rust) block size 16777216 28002.53 MByte/s (±23484.23 MByte/s) 27733.13 MByte/s (±23270.92 MByte/s) 1.01
Memset speed - (rust) block size 4096 53638.31 MByte/s (±39394.62 MByte/s) 53430.30 MByte/s (±39073.17 MByte/s) 1.00
Memset speed - (rust) block size 1048576 29003.42 MByte/s (±24126.67 MByte/s) 29305.63 MByte/s (±24146.04 MByte/s) 0.99
Memset speed - (rust) block size 16777216 28768.81 MByte/s (±23913.07 MByte/s) 28479.29 MByte/s (±23683.52 MByte/s) 1.01
alloc_benchmarks Build Time 194.29 s 189.90 s 1.02
alloc_benchmarks File Size 0.94 MB 0.94 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 8754.73 Ticks (±80.91 Ticks) 8738.85 Ticks (±78.27 Ticks) 1.00
Allocations - Average Allocation time (no fail) 8754.73 Ticks (±80.91 Ticks) 8738.85 Ticks (±78.27 Ticks) 1.00
Allocations - Average Deallocation time 1946.90 Ticks (±243.71 Ticks) 1790.75 Ticks (±349.92 Ticks) 1.09
mutex_benchmark Build Time 189.05 s 186.37 s 1.01
mutex_benchmark File Size 0.98 MB 0.98 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 15.82 ns (±0.77 ns) 15.96 ns (±0.87 ns) 0.99
Mutex Stress Test Average Time per Iteration - 2 Threads 18.60 ns (±2.00 ns) 19.06 ns (±1.88 ns) 0.98

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants