Skip to content

Conversation

@udaykiriti
Copy link

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.

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.
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: b72167f Previous: 67c1b2b Performance Ratio
startup_benchmark Build Time 117.82 s 122.88 s 0.96
startup_benchmark File Size 0.87 MB 0.87 MB 1.00
Startup Time - 1 core 0.97 s (±0.03 s) 1.00 s (±0.02 s) 0.96
Startup Time - 2 cores 0.98 s (±0.02 s) 1.00 s (±0.02 s) 0.98
Startup Time - 4 cores 0.99 s (±0.03 s) 0.99 s (±0.03 s) 1.00
multithreaded_benchmark Build Time 120.84 s 123.06 s 0.98
multithreaded_benchmark File Size 0.97 MB 0.97 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 89.07 % (±8.72 %) 88.68 % (±8.46 %) 1.00
Multithreaded Pi Efficiency - 4 Threads 43.76 % (±3.85 %) 44.47 % (±3.36 %) 0.98
Multithreaded Pi Efficiency - 8 Threads 25.66 % (±2.05 %) 25.46 % (±2.13 %) 1.01
micro_benchmarks Build Time 181.76 s 172.67 s 1.05
micro_benchmarks File Size 0.98 MB 0.98 MB 1.00
Scheduling time - 1 thread 73.98 ticks (±4.36 ticks) 75.22 ticks (±3.59 ticks) 0.98
Scheduling time - 2 threads 38.61 ticks (±2.16 ticks) 38.66 ticks (±2.11 ticks) 1.00
Micro - Time for syscall (getpid) 4.67 ticks (±0.25 ticks) 4.73 ticks (±0.33 ticks) 0.99
Memcpy speed - (built_in) block size 4096 56888.48 MByte/s (±40235.13 MByte/s) 57776.95 MByte/s (±40955.91 MByte/s) 0.98
Memcpy speed - (built_in) block size 1048576 28767.23 MByte/s (±24062.43 MByte/s) 29119.47 MByte/s (±24404.01 MByte/s) 0.99
Memcpy speed - (built_in) block size 16777216 25581.13 MByte/s (±21660.23 MByte/s) 24320.25 MByte/s (±20600.90 MByte/s) 1.05
Memset speed - (built_in) block size 4096 57194.58 MByte/s (±40430.99 MByte/s) 57846.57 MByte/s (±40990.95 MByte/s) 0.99
Memset speed - (built_in) block size 1048576 29611.17 MByte/s (±24552.52 MByte/s) 29837.87 MByte/s (±24806.06 MByte/s) 0.99
Memset speed - (built_in) block size 16777216 25908.84 MByte/s (±21774.53 MByte/s) 25074.19 MByte/s (±21076.19 MByte/s) 1.03
Memcpy speed - (rust) block size 4096 53168.09 MByte/s (±39021.55 MByte/s) 51978.32 MByte/s (±37541.67 MByte/s) 1.02
Memcpy speed - (rust) block size 1048576 28723.40 MByte/s (±24155.27 MByte/s) 28975.81 MByte/s (±24306.78 MByte/s) 0.99
Memcpy speed - (rust) block size 16777216 24933.33 MByte/s (±21170.78 MByte/s) 24942.26 MByte/s (±21157.69 MByte/s) 1.00
Memset speed - (rust) block size 4096 53484.69 MByte/s (±39187.19 MByte/s) 52746.25 MByte/s (±38138.36 MByte/s) 1.01
Memset speed - (rust) block size 1048576 29569.57 MByte/s (±24661.14 MByte/s) 29825.10 MByte/s (±24812.07 MByte/s) 0.99
Memset speed - (rust) block size 16777216 25224.88 MByte/s (±21268.11 MByte/s) 25391.70 MByte/s (±21352.68 MByte/s) 0.99
alloc_benchmarks Build Time 163.00 s 155.86 s 1.05
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 9901.86 Ticks (±446.35 Ticks) 8052.09 Ticks (±709.81 Ticks) 1.23
Allocations - Average Allocation time (no fail) 9901.86 Ticks (±446.35 Ticks) 8052.09 Ticks (±709.81 Ticks) 1.23
Allocations - Average Deallocation time 1073.33 Ticks (±558.57 Ticks) 929.37 Ticks (±301.24 Ticks) 1.15
mutex_benchmark Build Time 156.68 s 165.12 s 0.95
mutex_benchmark File Size 0.97 MB 0.97 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 15.74 ns (±0.91 ns) 15.62 ns (±0.66 ns) 1.01
Mutex Stress Test Average Time per Iteration - 2 Threads 15.30 ns (±0.90 ns) 15.68 ns (±0.95 ns) 0.98

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

@mkroening mkroening self-assigned this Dec 22, 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.

2 participants