Benchmarks used to measure the performance of equality comparisons using package:equatable
.
- Install dependencies
dart pub get
- Run the benchmarks
dart run main.dart
JIT
EmptyEquatable
total runs: 2 729 471
total time: 2.0000 s
average run: 0 μs
runs/second: Infinity
units: 100
units/second: Infinity
time per unit: 0.0000 μs
PrimitiveEquatable
total runs: 669 972
total time: 2.0000 s
average run: 2 μs
runs/second: 500 000
units: 100
units/second: 50 000 000
time per unit: 0.0200 μs
CollectionEquatable (static, small)
total runs: 144 932
total time: 2.0000 s
average run: 13 μs
runs/second: 76 923
units: 100
units/second: 7 692 308
time per unit: 0.1300 μs
CollectionEquatable (static, medium)
total runs: 84 533
total time: 2.0000 s
average run: 23 μs
runs/second: 43 478
units: 100
units/second: 4 347 826
time per unit: 0.2300 μs
CollectionEquatable (static, large)
total runs: 16 457
total time: 2.0001 s
average run: 121 μs
runs/second: 8 264.5
units: 100
units/second: 826 446
time per unit: 1.2100 μs
CollectionEquatable (dynamic, small)
total runs: 388 236
total time: 2.0000 s
average run: 5 μs
runs/second: 200 000
units: 100
units/second: 20 000 000
time per unit: 0.0500 μs
CollectionEquatable (dynamic, medium)
total runs: 382 155
total time: 2.0000 s
average run: 5 μs
runs/second: 200 000
units: 100
units/second: 20 000 000
time per unit: 0.0500 μs
CollectionEquatable (dynamic, large)
total runs: 390 713
total time: 2.0000 s
average run: 5 μs
runs/second: 200 000
units: 100
units/second: 20 000 000
time per unit: 0.0500 μs
AOT
EmptyEquatable
total runs: 1 615 534
total time: 2.0000 s
average run: 1 μs
runs/second: 1 000 000
units: 100
units/second: 100 000 000
time per unit: 0.0100 μs
PrimitiveEquatable
total runs: 928 013
total time: 2.0000 s
average run: 2 μs
runs/second: 500 000
units: 100
units/second: 50 000 000
time per unit: 0.0200 μs
CollectionEquatable (static, small)
total runs: 128 224
total time: 2.0000 s
average run: 15 μs
runs/second: 66 667
units: 100
units/second: 6 666 667
time per unit: 0.1500 μs
CollectionEquatable (static, medium)
total runs: 104 624
total time: 2.0000 s
average run: 19 μs
runs/second: 52 632
units: 100
units/second: 5 263 158
time per unit: 0.1900 μs
CollectionEquatable (static, large)
total runs: 33 653
total time: 2.0000 s
average run: 59 μs
runs/second: 16 949
units: 100
units/second: 1 694 915
time per unit: 0.5900 μs
CollectionEquatable (dynamic, small)
total runs: 483 177
total time: 2.0000 s
average run: 4 μs
runs/second: 250 000
units: 100
units/second: 25 000 000
time per unit: 0.0400 μs
CollectionEquatable (dynamic, medium)
total runs: 488 550
total time: 2.0000 s
average run: 4 μs
runs/second: 250 000
units: 100
units/second: 25 000 000
time per unit: 0.0400 μs
CollectionEquatable (dynamic, large)
total runs: 494 041
total time: 2.0000 s
average run: 4 μs
runs/second: 250 000
units: 100
units/second: 25 000 000
time per unit: 0.0400 μs
Last Updated: November 20, 2024 using 29e6c77a2e6b25e35cce66276bc2afeab1c805bd
MacBook Pro (M1 Pro, 16GB RAM)
Dart SDK version: Dart SDK version: 3.5.4 (stable) (Wed Oct 16 16:18:51 2024 +0000) on "macos_arm64"