Skip to content

Benchmarks

Christopher Wolf edited this page Feb 22, 2026 · 1 revision

In general, efforts were made to ensure performance during the development of the library, but functionality is the primary focus.
However, to provide some insights, below are some benchmark results for the implementation, including details of the hardware used to run the benchmarks. The benchmarks can also be found in the repository in the benchmarks directory and were implemented using BenchmarkDotNet.

Hardware

BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7840/25H2/2025Update/HudsonValley2)
AMD Ryzen 9 7950X3D 4.20GHz, 1 CPU, 32 logical and 16 physical cores
  .NET 10 : .NET 10.0.3 (10.0.3, 10.0.326.7603), X64 RyuJIT x86-64-v4
  .NET 9  : .NET 9.0.13 (9.0.13, 9.0.1326.6317), X64 RyuJIT x86-64-v4
  .NET 8  : .NET 8.0.24 (8.0.24, 8.0.2426.7010), X64 RyuJIT x86-64-v4

Results

Legends

  Mean        : Arithmetic mean of all measurements
  Error       : Half of 99.9% confidence interval
  StdDev      : Standard deviation of all measurements
  P95         : Percentile 95
  Ratio       : Mean of the ratio distribution ([Current]/[Baseline])
  RatioSD     : Standard deviation of the ratio distribution ([Current]/[Baseline])
  Rank        : Relative position of current benchmark mean among all benchmarks (Arabic style)
  Gen0        : GC Generation 0 collects per 1000 operations
  Allocated   : Allocated memory per single operation (managed only, inclusive, 1KB = 1024B)
  1 ns        : 1 Nanosecond (0.000000001 sec)

Method Parse

Method Runtime Mean Error StdDev Median P95 Ratio RatioSD Rank Gen0 Allocated
'Standard: HH:mm:ss' .NET 10.0 342.8 ns 6.79 ns 14.47 ns 344.1 ns 361.3 ns 0.28 0.01 1 0.0329 1656 B
'Standard: d.HH:mm:ss.fff' .NET 10.0 351.6 ns 5.05 ns 3.94 ns 352.3 ns 355.7 ns 0.29 0.01 1 0.0334 1688 B
'Human: single unit (5m)' .NET 10.0 435.1 ns 8.65 ns 12.40 ns 433.8 ns 455.6 ns 0.36 0.01 2 0.0334 1688 B
'Human: two units (1h 30m)' .NET 10.0 481.4 ns 9.60 ns 9.86 ns 480.7 ns 496.4 ns 0.40 0.01 3 0.0339 1720 B
'Human: full combo' * .NET 10.0 755.4 ns 15.12 ns 15.53 ns 752.3 ns 780.4 ns 0.62 0.02 5 0.0372 1880 B
'Human: decimals (1.5h 100ms)' .NET 10.0 631.0 ns 12.25 ns 14.11 ns 631.3 ns 651.2 ns 0.52 0.01 4 0.0353 1816 B
'Invalid input' .NET 10.0 1,217.5 ns 21.04 ns 18.65 ns 1,221.6 ns 1,239.7 ns 1.00 0.02 6 0.0057 376 B
'Null input' .NET 10.0 1,215.7 ns 31.72 ns 93.54 ns 1,242.1 ns 1,320.9 ns 1.00 0.08 6 0.0057 328 B
'Standard: HH:mm:ss' .NET 9.0 327.7 ns 3.95 ns 3.50 ns 327.2 ns 333.2 ns 0.21 0.00 1 0.0329 1656 B
'Standard: d.HH:mm:ss.fff' .NET 9.0 353.5 ns 2.48 ns 2.20 ns 353.7 ns 356.6 ns 0.23 0.00 2 0.0334 1688 B
'Human: single unit (5m)' .NET 9.0 485.4 ns 3.31 ns 3.09 ns 486.3 ns 488.5 ns 0.31 0.00 3 0.0334 1688 B
'Human: two units (1h 30m)' .NET 9.0 517.2 ns 3.41 ns 2.84 ns 516.2 ns 521.9 ns 0.33 0.00 4 0.0339 1720 B
'Human: full combo' * .NET 9.0 854.6 ns 10.82 ns 10.12 ns 850.6 ns 869.1 ns 0.55 0.01 6 0.0372 1880 B
'Human: decimals (1.5h 100ms)' .NET 9.0 731.7 ns 9.88 ns 8.75 ns 731.8 ns 744.8 ns 0.47 0.01 5 0.0353 1816 B
'Invalid input' .NET 9.0 1,553.3 ns 18.43 ns 17.24 ns 1,557.8 ns 1,576.1 ns 1.00 0.02 7 0.0057 376 B
'Null input' .NET 9.0 1,694.4 ns 20.26 ns 18.95 ns 1,688.6 ns 1,723.9 ns 1.09 0.02 8 0.0057 328 B
'Standard: HH:mm:ss' .NET 8.0 354.9 ns 3.97 ns 3.52 ns 354.8 ns 359.9 ns 0.11 0.00 1 0.0329 1656 B
'Standard: d.HH:mm:ss.fff' .NET 8.0 362.9 ns 6.17 ns 5.47 ns 363.1 ns 371.1 ns 0.12 0.00 1 0.0334 1688 B
'Human: single unit (5m)' .NET 8.0 471.6 ns 4.71 ns 4.17 ns 471.8 ns 478.1 ns 0.15 0.00 2 0.0334 1688 B
'Human: two units (1h 30m)' .NET 8.0 525.6 ns 7.45 ns 6.97 ns 527.4 ns 535.3 ns 0.17 0.00 3 0.0339 1720 B
'Human: full combo' * .NET 8.0 843.8 ns 10.36 ns 9.70 ns 843.0 ns 856.3 ns 0.27 0.01 5 0.0372 1880 B
'Human: decimals (1.5h 100ms)' .NET 8.0 713.0 ns 9.79 ns 8.67 ns 710.4 ns 727.4 ns 0.23 0.00 4 0.0353 1816 B
'Invalid input' .NET 8.0 3,137.1 ns 60.14 ns 59.07 ns 3,140.0 ns 3,231.1 ns 1.00 0.03 6 0.0076 384 B
'Null input' .NET 8.0 3,616.1 ns 48.37 ns 45.24 ns 3,611.1 ns 3,678.5 ns 1.15 0.03 7 0.0038 352 B

* full combo = "2 days 4 hours 15 minutes 30 seconds 500 milliseconds"

Method TryParse

Method Runtime Mean Error StdDev P95 Ratio RatioSD Rank Gen0 Allocated
'Standard: HH:mm:ss' .NET 10.0 287.9391 ns 3.2049 ns 2.9979 ns 291.5550 ns 6.76 0.13 3 0.0329 1656 B
'Standard: d.HH:mm:ss.fff' .NET 10.0 330.6657 ns 2.5955 ns 2.3008 ns 333.3371 ns 7.77 0.14 4 0.0334 1688 B
'Human: single unit (5m)' .NET 10.0 461.4248 ns 9.0115 ns 14.5519 ns 485.6619 ns 10.84 0.38 5 0.0334 1688 B
'Human: two units (1h 30m)' .NET 10.0 470.6134 ns 7.8707 ns 7.3623 ns 482.4788 ns 11.05 0.25 5 0.0339 1720 B
'Human: full combo' * .NET 10.0 719.9095 ns 12.2665 ns 10.8740 ns 736.3521 ns 16.91 0.38 7 0.0372 1880 B
'Human: decimals (1.5h 100ms)' .NET 10.0 604.6110 ns 10.0666 ns 9.8867 ns 620.0943 ns 14.20 0.33 6 0.0353 1816 B
'Invalid input' .NET 10.0 42.5874 ns 0.8135 ns 0.7609 ns 43.9415 ns 1.00 0.02 2 - -
'Null input' .NET 10.0 1.0329 ns 0.0374 ns 0.0350 ns 1.0840 ns 0.02 0.00 1 - -
'Standard: HH:mm:ss' .NET 9.0 350.6555 ns 7.0180 ns 6.5646 ns 360.4509 ns 5.45 0.13 3 0.0329 1656 B
'Standard: d.HH:mm:ss.fff' .NET 9.0 371.5370 ns 7.3431 ns 7.5408 ns 382.4946 ns 5.78 0.14 4 0.0334 1688 B
'Human: single unit (5m)' .NET 9.0 494.1462 ns 9.9082 ns 14.8301 ns 508.7619 ns 7.69 0.25 5 0.0334 1688 B
'Human: two units (1h 30m)' .NET 9.0 529.3066 ns 10.3670 ns 11.5229 ns 551.3136 ns 8.23 0.21 6 0.0334 1720 B
'Human: full combo' * .NET 9.0 864.3188 ns 12.6515 ns 10.5646 ns 882.7407 ns 13.44 0.25 8 0.0372 1880 B
'Human: decimals (1.5h 100ms)' .NET 9.0 782.2428 ns 13.3596 ns 15.9036 ns 802.7779 ns 12.17 0.30 7 0.0353 1816 B
'Invalid input' .NET 9.0 64.3077 ns 1.0813 ns 0.9585 ns 65.5844 ns 1.00 0.02 2 - -
'Null input' .NET 9.0 0.8494 ns 0.0154 ns 0.0136 ns 0.8747 ns 0.01 0.00 1 - -
'Standard: HH:mm:ss' .NET 8.0 350.2927 ns 6.8227 ns 8.6286 ns 362.9657 ns 5.44 0.16 3 0.0329 1656 B
'Standard: d.HH:mm:ss.fff' .NET 8.0 369.6096 ns 6.9320 ns 6.4842 ns 378.1941 ns 5.74 0.14 3 0.0334 1688 B
'Human: single unit (5m)' .NET 8.0 489.8678 ns 8.3834 ns 7.4317 ns 500.9208 ns 7.60 0.17 4 0.0334 1688 B
'Human: two units (1h 30m)' .NET 8.0 532.1089 ns 10.2960 ns 12.2566 ns 545.7322 ns 8.26 0.23 5 0.0339 1720 B
'Human: full combo' * .NET 8.0 862.1143 ns 15.3813 ns 13.6351 ns 882.2121 ns 13.38 0.30 7 0.0372 1880 B
'Human: decimals (1.5h 100ms)' .NET 8.0 770.7357 ns 14.7227 ns 19.1437 ns 798.2340 ns 11.96 0.35 6 0.0353 1816 B
'Invalid input' .NET 8.0 64.4426 ns 1.1786 ns 1.1024 ns 65.7730 ns 1.00 0.02 2 - -
'Null input' .NET 8.0 0.9767 ns 0.0224 ns 0.0210 ns 1.0088 ns 0.02 0.00 1 - -

* full combo = "2 days 4 hours 15 minutes 30 seconds 500 milliseconds"

Clone this wiki locally