Generating bundles with many references has non-linear performance
Generating bundles with many references exhibits non-linear growth. The following benchmark demonstrates this:
Benchmark 1: bundle (refcount = 100)
Time (mean ± σ): 4.4 ms ± 0.5 ms [User: 1.8 ms, System: 2.4 ms]
Range (min … max): 3.4 ms … 7.7 ms 434 runs
Benchmark 2: bundle (refcount = 1000)
Time (mean ± σ): 16.5 ms ± 1.7 ms [User: 9.6 ms, System: 7.2 ms]
Range (min … max): 14.1 ms … 21.7 ms 176 runs
Benchmark 3: bundle (refcount = 10000)
Time (mean ± σ): 220.6 ms ± 3.2 ms [User: 171.6 ms, System: 55.7 ms]
Range (min … max): 215.8 ms … 224.9 ms 13 runs
Benchmark 4: bundle (refcount = 100000)
Time (mean ± σ): 9.622 s ± 0.063 s [User: 9.143 s, System: 0.546 s]
Range (min … max): 9.563 s … 9.738 s 10 runs
Summary
bundle (refcount = 100) ran
3.79 ± 0.61 times faster than bundle (refcount = 1000)
50.63 ± 6.39 times faster than bundle (refcount = 10000)
2207.95 ± 277.35 times faster than bundle (refcount = 100000)
We should investigate whether we can improve performance.