Files
smarm/benches/baseline.json
T
smarm 37d931968e fix(scheduler): align(64) on SchedulerStats to prevent false sharing
Adding slot_hits + slot_displacements in RFC 005 grew SchedulerStats
from 16 to 32 bytes — exactly 2 per cache line. run_queue_len (written
on every push/pop by thread N) then false-shared with fields of thread
N+1, causing ~45-60% yield-storm regression at t≥8 visible equally in
slot-on and slot-off paths.
2026-06-11 22:37:47 +02:00

314 lines
5.8 KiB
JSON

{
"chained_spawn": {
"smarm 1-thread": {
"result": 1000,
"median": 410,
"min": 379,
"max": 2167
},
"smarm 24-thread": {
"result": 1000,
"median": 977,
"min": 883,
"max": 1154
},
"tokio current_thread": {
"result": 1000,
"median": 72,
"min": 71,
"max": 80
},
"tokio multi-thread": {
"result": 1000,
"median": 216,
"min": 171,
"max": 257
}
},
"yield_many": {
"smarm 1-thread": {
"result": 200000,
"median": 15617,
"min": 15039,
"max": 16240
},
"smarm 24-thread": {
"result": 200000,
"median": 155738,
"min": 149294,
"max": 157106
},
"tokio current_thread": {
"result": 200000,
"median": 4820,
"min": 4771,
"max": 5091
},
"tokio multi-thread": {
"result": 200000,
"median": 8403,
"min": 7445,
"max": 9752
}
},
"fan_out_compute": {
"smarm 1-thread": {
"result": 33860,
"median": 13412,
"min": 13361,
"max": 13917
},
"smarm 24-thread": {
"result": 33860,
"median": 2359,
"min": 2158,
"max": 2631
},
"tokio current_thread": {
"result": 33860,
"median": 14138,
"min": 13512,
"max": 14236
},
"tokio multi-thread": {
"result": 33860,
"median": 1532,
"min": 1455,
"max": 2447
}
},
"ping_pong_oneshot": {
"smarm 1-thread": {
"result": 1000,
"median": 983,
"min": 853,
"max": 1166
},
"smarm 24-thread": {
"result": 1000,
"median": 1562,
"min": 1466,
"max": 1726
},
"tokio current_thread": {
"result": 1000,
"median": 421,
"min": 405,
"max": 634
},
"tokio multi-thread": {
"result": 1000,
"median": 9254,
"min": 7836,
"max": 11613
}
},
"spawn_storm_busy": {
"smarm 1-thread": {
"result": 10000,
"median": 108420,
"min": 107179,
"max": 110463
},
"smarm 24-thread": {
"result": 10000,
"median": 49405,
"min": 48118,
"max": 51497
},
"tokio current_thread": {
"result": 10000,
"median": 1157,
"min": 1152,
"max": 1194
},
"tokio multi-thread": {
"result": 10000,
"median": 20476,
"min": 15912,
"max": 31254
}
},
"mpsc_contention": {
"smarm 1-thread": {
"result": 320000,
"median": 6270,
"min": 6133,
"max": 6932
},
"smarm 24-thread": {
"result": 320000,
"median": 34690,
"min": 32198,
"max": 38480
},
"tokio current_thread": {
"result": 320000,
"median": 6022,
"min": 5901,
"max": 6185
},
"tokio multi-thread": {
"result": 320000,
"median": 59561,
"min": 43293,
"max": 72976
}
},
"many_timers": {
"smarm 1-thread": {
"result": 10000,
"median": 120756,
"min": 108228,
"max": 126568
},
"smarm 24-thread": {
"result": 10000,
"median": 97810,
"min": 93054,
"max": 100845
},
"tokio current_thread": {
"result": 10000,
"median": 12554,
"min": 12425,
"max": 13280
},
"tokio multi-thread": {
"result": 10000,
"median": 16463,
"min": 15913,
"max": 17058
}
},
"multi_thread_scaling": {
"smarm 1-thread": {
"result": 33860,
"median": 15086,
"min": 15046,
"max": 15274
},
"smarm 2-thread": {
"result": 33860,
"median": 8057,
"min": 7948,
"max": 8227
},
"smarm 4-thread": {
"result": 33860,
"median": 4476,
"min": 4353,
"max": 4605
},
"smarm 24-thread": {
"result": 33860,
"median": 2383,
"min": 2231,
"max": 2868
},
"tokio multi 1-thread": {
"result": 33860,
"median": 14301,
"min": 14176,
"max": 14484
},
"tokio multi 2-thread": {
"result": 33860,
"median": 7293,
"min": 7190,
"max": 7455
},
"tokio multi 4-thread": {
"result": 33860,
"median": 3768,
"min": 3690,
"max": 3861
},
"tokio multi 24-thread": {
"result": 33860,
"median": 1585,
"min": 1312,
"max": 2239
}
},
"deep_recursion": {
"smarm 1-thread": {
"result": 1,
"median": 240,
"min": 219,
"max": 2111
},
"smarm 24-thread": {
"result": 1,
"median": 782,
"min": 708,
"max": 983
},
"tokio current_thread": {
"result": 1,
"median": 10,
"min": 10,
"max": 12
},
"tokio multi-thread": {
"result": 1,
"median": 53,
"min": 40,
"max": 70
}
},
"yield_in_hot_loop": {
"smarm 1-thread": {
"result": 1000000,
"median": 64650,
"min": 64154,
"max": 66049
},
"tokio current_thread": {
"result": 1000000,
"median": 73761,
"min": 70903,
"max": 74957
}
},
"uncontended_channel": {
"smarm 1-thread": {
"result": 1000000,
"median": 13745,
"min": 11201,
"max": 14048
},
"tokio current_thread": {
"result": 1000000,
"median": 17067,
"min": 17054,
"max": 17092
}
},
"catch_unwind_panics": {
"smarm 1-thread": {
"result": 10000,
"median": 109788,
"min": 108526,
"max": 113713
},
"smarm 24-thread": {
"result": 10000,
"median": 13864,
"min": 12963,
"max": 14602
},
"tokio current_thread": {
"result": 10000,
"median": 9624,
"min": 9407,
"max": 11185
},
"tokio multi-thread": {
"result": 10000,
"median": 5224,
"min": 2805,
"max": 7833
}
}
}