Skip to content

Conversation

mkroening
Copy link
Member

Adapted from: #1974 (57d104e).

mkroening and others added 2 commits October 17, 2025 10:36
Co-authored-by: Panagiotis "Ivory" Vasilopoulos <[email protected]>
@mkroening mkroening requested a review from n0toose October 17, 2025 08:37
@mkroening mkroening self-assigned this Oct 17, 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: 886ea5f Previous: 376b966 Performance Ratio
startup_benchmark Build Time 113.81 s 110.37 s 1.03
startup_benchmark File Size 0.90 MB 0.90 MB 1
Startup Time - 1 core 0.91 s (±0.03 s) 0.93 s (±0.03 s) 0.99
Startup Time - 2 cores 0.94 s (±0.03 s) 0.93 s (±0.03 s) 1.01
Startup Time - 4 cores 0.93 s (±0.03 s) 0.93 s (±0.03 s) 1.00
multithreaded_benchmark Build Time 118.15 s 114.11 s 1.04
multithreaded_benchmark File Size 1.01 MB 1.01 MB 1.00
Multithreaded Pi Efficiency - 2 Threads 87.50 % (±8.36 %) 87.54 % (±7.72 %) 1.00
Multithreaded Pi Efficiency - 4 Threads 43.21 % (±4.56 %) 43.85 % (±3.71 %) 0.99
Multithreaded Pi Efficiency - 8 Threads 24.73 % (±1.66 %) 25.11 % (±2.07 %) 0.98
micro_benchmarks Build Time 115.58 s 106.92 s 1.08
micro_benchmarks File Size 1.01 MB 1.01 MB 1.00
Scheduling time - 1 thread 70.57 ticks (±4.52 ticks) 67.03 ticks (±3.54 ticks) 1.05
Scheduling time - 2 threads 40.70 ticks (±4.63 ticks) 38.31 ticks (±5.49 ticks) 1.06
Micro - Time for syscall (getpid) 3.27 ticks (±0.40 ticks) 2.98 ticks (±0.45 ticks) 1.10
Memcpy speed - (built_in) block size 4096 72799.33 MByte/s (±50511.74 MByte/s) 78287.67 MByte/s (±54207.29 MByte/s) 0.93
Memcpy speed - (built_in) block size 1048576 42314.15 MByte/s (±29365.49 MByte/s) 42758.95 MByte/s (±29603.37 MByte/s) 0.99
Memcpy speed - (built_in) block size 16777216 24130.96 MByte/s (±20131.56 MByte/s) 28796.76 MByte/s (±23654.74 MByte/s) 0.84
Memset speed - (built_in) block size 4096 72415.63 MByte/s (±50243.44 MByte/s) 78337.85 MByte/s (±54246.52 MByte/s) 0.92
Memset speed - (built_in) block size 1048576 42531.47 MByte/s (±29514.22 MByte/s) 43001.55 MByte/s (±29767.07 MByte/s) 0.99
Memset speed - (built_in) block size 16777216 24888.57 MByte/s (±20651.68 MByte/s) 29553.13 MByte/s (±24095.41 MByte/s) 0.84
Memcpy speed - (rust) block size 4096 70517.96 MByte/s (±49254.97 MByte/s) 70495.32 MByte/s (±49405.95 MByte/s) 1.00
Memcpy speed - (rust) block size 1048576 42098.74 MByte/s (±29216.21 MByte/s) 42856.55 MByte/s (±29682.27 MByte/s) 0.98
Memcpy speed - (rust) block size 16777216 24045.73 MByte/s (±19811.76 MByte/s) 28900.71 MByte/s (±23739.86 MByte/s) 0.83
Memset speed - (rust) block size 4096 70567.23 MByte/s (±49287.24 MByte/s) 69943.60 MByte/s (±49128.48 MByte/s) 1.01
Memset speed - (rust) block size 1048576 42288.33 MByte/s (±29344.32 MByte/s) 43095.53 MByte/s (±29843.91 MByte/s) 0.98
Memset speed - (rust) block size 16777216 24625.95 MByte/s (±20151.52 MByte/s) 29647.15 MByte/s (±24171.90 MByte/s) 0.83
alloc_benchmarks Build Time 110.07 s 105.40 s 1.04
alloc_benchmarks File Size 0.97 MB 0.97 MB 1.00
Allocations - Allocation success 100.00 % 100.00 % 1
Allocations - Deallocation success 70.00 % (±0.32 %) 70.03 % (±0.30 %) 1.00
Allocations - Pre-fail Allocations 100.00 % 100.00 % 1
Allocations - Average Allocation time 12413.08 Ticks (±305.85 Ticks) 12298.03 Ticks (±230.53 Ticks) 1.01
Allocations - Average Allocation time (no fail) 12413.08 Ticks (±305.85 Ticks) 12298.03 Ticks (±230.53 Ticks) 1.01
Allocations - Average Deallocation time 725.65 Ticks (±79.20 Ticks) 722.17 Ticks (±103.75 Ticks) 1.00
mutex_benchmark Build Time 116.88 s 105.06 s 1.11
mutex_benchmark File Size 1.02 MB 1.02 MB 1.00
Mutex Stress Test Average Time per Iteration - 1 Threads 13.72 ns (±0.94 ns) 12.74 ns (±0.74 ns) 1.08
Mutex Stress Test Average Time per Iteration - 2 Threads 15.68 ns (±1.46 ns) 14.80 ns (±1.47 ns) 1.06

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

@n0toose
Copy link
Member

n0toose commented Oct 18, 2025

@mkroening Sure thing. 👍🏻

I decided to put this in one PR to make the review of the "greater picture" easier while allowing for nitpicks, but only broke this out commit-wise due to the minor condition I added there.

@mkroening mkroening added this pull request to the merge queue Oct 18, 2025
Merged via the queue into main with commit d17e546 Oct 18, 2025
31 of 32 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.

2 participants