Skip to content

Conversation

@ankur-anand
Copy link
Owner

This PR improve the memory usage across the board for the taskwheel timer.

benchstat old.txt new.txt | grep TimingWheel
TimingWheelAfterTimeout/1K_timers_100ms-10              110.1m ± ∞ ¹     110.0m ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheelAfterTimeout/10K_timers_100ms-10             111.1m ± ∞ ¹     110.0m ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheelAfterTimeout/100K_timers_100ms-10            122.7m ± ∞ ¹     121.2m ± ∞ ¹       ~ (p=1.000 n=1) ²
MemoryComparison/TimingWheel_10K_timers-10              110.2m ± ∞ ¹     110.0m ± ∞ ¹       ~ (p=1.000 n=1) ²
ExpirationOverhead_N/TimingWheel_Expiration_1000-10     51.26m ± ∞ ¹     51.14m ± ∞ ¹       ~ (p=1.000 n=1) ²
ExpirationOverhead_N/TimingWheel_Expiration_10000-10    54.12m ± ∞ ¹     53.48m ± ∞ ¹       ~ (p=1.000 n=1) ²
ExpirationOverhead_N/TimingWheel_Expiration_100000-10   61.03m ± ∞ ¹     59.90m ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheel_AddRemove-10                                9.341n ± ∞ ¹   110.700n ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheel_FireBatch-10                                6.682n ± ∞ ¹     4.984n ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheel_Memory/Timers_100000-10                     24.43m ± ∞ ¹     19.54m ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheel_Memory/Timers_1000000-10                    255.6m ± ∞ ¹     199.8m ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheel_Memory/Timers_10000000-10                    2.718 ± ∞ ¹      1.807 ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheelPeriodic-10                                  212.8m ± ∞ ¹     206.1m ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheelAfterTimeout/1K_timers_100ms-10              308.2Ki ± ∞ ¹   209.5Ki ± ∞ ¹        ~ (p=1.000 n=1) ²
TimingWheelAfterTimeout/10K_timers_100ms-10             2.725Mi ± ∞ ¹   1.882Mi ± ∞ ¹        ~ (p=1.000 n=1) ²
TimingWheelAfterTimeout/100K_timers_100ms-10            25.25Mi ± ∞ ¹   17.89Mi ± ∞ ¹        ~ (p=1.000 n=1) ²
MemoryComparison/TimingWheel_10K_timers-10              2.725Mi ± ∞ ¹   1.882Mi ± ∞ ¹        ~ (p=1.000 n=1) ²
ExpirationOverhead_N/TimingWheel_Expiration_1000-10     17.19Ki ± ∞ ¹   17.19Ki ± ∞ ¹        ~ (p=1.000 n=1) ³
ExpirationOverhead_N/TimingWheel_Expiration_10000-10    303.2Ki ± ∞ ¹   303.3Ki ± ∞ ¹        ~ (p=1.000 n=1) ²
ExpirationOverhead_N/TimingWheel_Expiration_100000-10   4.288Mi ± ∞ ¹   4.288Mi ± ∞ ¹        ~ (p=1.000 n=1) ²
TimingWheel_AddRemove-10                                  0.000 ± ∞ ¹     0.000 ± ∞ ¹        ~ (p=1.000 n=1) ³
TimingWheel_FireBatch-10                                  0.000 ± ∞ ¹     0.000 ± ∞ ¹        ~ (p=1.000 n=1) ³
TimingWheel_Memory/Timers_100000-10                     9.218Mi ± ∞ ¹   9.218Mi ± ∞ ¹        ~ (p=1.000 n=1) ²
TimingWheel_Memory/Timers_1000000-10                    91.62Mi ± ∞ ¹   91.62Mi ± ∞ ¹        ~ (p=1.000 n=1) ³
TimingWheel_Memory/Timers_10000000-10                   915.6Mi ± ∞ ¹   915.6Mi ± ∞ ¹        ~ (p=1.000 n=1) ²
TimingWheelPeriodic-10                                  60.45Mi ± ∞ ¹   46.30Mi ± ∞ ¹        ~ (p=1.000 n=1) ²
TimingWheelAfterTimeout/1K_timers_100ms-10              1.056k ± ∞ ¹   1.056k ± ∞ ¹       ~ (p=1.000 n=1) ³
TimingWheelAfterTimeout/10K_timers_100ms-10             10.18k ± ∞ ¹   10.18k ± ∞ ¹       ~ (p=1.000 n=1) ³
TimingWheelAfterTimeout/100K_timers_100ms-10            101.1k ± ∞ ¹   101.1k ± ∞ ¹       ~ (p=1.000 n=1) ²
MemoryComparison/TimingWheel_10K_timers-10              10.18k ± ∞ ¹   10.18k ± ∞ ¹       ~ (p=1.000 n=1) ³
ExpirationOverhead_N/TimingWheel_Expiration_1000-10      11.00 ± ∞ ¹    11.00 ± ∞ ¹       ~ (p=1.000 n=1) ³
ExpirationOverhead_N/TimingWheel_Expiration_10000-10     18.00 ± ∞ ¹    19.00 ± ∞ ¹       ~ (p=1.000 n=1) ²
ExpirationOverhead_N/TimingWheel_Expiration_100000-10    28.00 ± ∞ ¹    29.00 ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheel_AddRemove-10                                 0.000 ± ∞ ¹    0.000 ± ∞ ¹       ~ (p=1.000 n=1) ³
TimingWheel_FireBatch-10                                 0.000 ± ∞ ¹    0.000 ± ∞ ¹       ~ (p=1.000 n=1) ³
TimingWheel_Memory/Timers_100000-10                     700.0k ± ∞ ¹   600.0k ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheel_Memory/Timers_1000000-10                    7.000M ± ∞ ¹   6.000M ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheel_Memory/Timers_10000000-10                   70.00M ± ∞ ¹   60.00M ± ∞ ¹       ~ (p=1.000 n=1) ²
TimingWheelPeriodic-10                                  481.0k ± ∞ ¹   401.1k ± ∞ ¹       ~ (p=1.000 n=1)

@ankur-anand ankur-anand merged commit 97e012e into main Oct 3, 2025
2 checks passed
@ankur-anand ankur-anand deleted the optimization branch October 3, 2025 14:45
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