Benchmarks

These are the benchmarks for the functions in QuiverTools.

The benchmarks were generated by running

julia --project benchmark/benchmarks.jl

from the root of the repository. This was done on a 2021 MacBook Pro with a M1 Pro chip and 16 GB of RAM.

Benchmarking is_acyclic

Datum: Quiver[5-Kronecker quiver, with adjacency matrix [0 5; 0 0]]

BenchmarkTools.Trial: 10000 samples with 6 evaluations.
 Range (min … max):  6.181 μs …  1.057 ms  ┊ GC (min … max): 0.00% … 98.97%
 Time  (median):     6.312 μs              ┊ GC (median):    0.00%
 Time  (mean ± σ):   6.580 μs ± 14.238 μs  ┊ GC (mean ± σ):  3.04% ±  1.40%

   ▂▄▇▇██▇▇▆▆▅▄▄▃▄▃▃▃▁▂▁ ▁ ▁    ▁▁▁ ▁  ▁ ▁▁                  ▃
  ▅████████████████████████████████▇██▇████▇█▇█▆▆▇▆▆▅▆▅▄▄▅▄▄ █
  6.18 μs      Histogram: log(frequency) by time     7.22 μs <

 Memory estimate: 1.72 KiB, allocs estimate: 29.

Benchmarking is_connected

Datum: Quiver[5-Kronecker quiver, with adjacency matrix [0 5; 0 0]]

BenchmarkTools.Trial: 10000 samples with 4 evaluations.
 Range (min … max):  7.542 μs …  1.071 ms  ┊ GC (min … max): 0.00% … 98.84%
 Time  (median):     7.698 μs              ┊ GC (median):    0.00%
 Time  (mean ± σ):   7.914 μs ± 10.648 μs  ┊ GC (mean ± σ):  1.34% ±  0.99%

   ▄▇▇██▇▅▅▄▄▄▄▄▃▁▃▂▂ ▁▁      ▁      ▁                       ▂
  ███████████████████████▆██████████████▇▇▇▆▆▅▅▅▆▅▅▃▅▄▂▄▃▄▂▃ █
  7.54 μs      Histogram: log(frequency) by time      9.2 μs <

 Memory estimate: 2.41 KiB, allocs estimate: 45.

Benchmarking all_HN_types

Datum: (3-Kronecker quiver, with adjacency matrix [0 3; 0 0], [2, 3], [3, -2])

BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  103.916 μs …   3.862 ms  ┊ GC (min … max): 0.00% … 95.05%
 Time  (median):     106.750 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   116.208 μs ± 172.582 μs  ┊ GC (mean ± σ):  7.16% ±  4.67%

      ▃▇█▇▅▂
  ▁▁▃▅███████▆▆▅▄▄▄▃▃▃▃▂▂▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▂
  104 μs           Histogram: frequency by time          124 μs <

 Memory estimate: 162.81 KiB, allocs estimate: 2347.

Datum: (5-Kronecker quiver, with adjacency matrix [0 5; 0 0], [2, 3], [3, -2])

BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  103.750 μs …   3.788 ms  ┊ GC (min … max): 0.00% … 97.01%
 Time  (median):     106.541 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   116.062 μs ± 171.101 μs  ┊ GC (mean ± σ):  7.12% ±  4.68%

      ▃▅█▆▇▃▂
  ▁▂▃▆███████▇▆▅▅▄▄▃▃▃▃▃▂▂▂▂▂▂▂▂▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▂
  104 μs           Histogram: frequency by time          123 μs <

 Memory estimate: 162.80 KiB, allocs estimate: 2346.

Benchmarking all_Teleman_bounds

Datum: (3-Kronecker quiver, with adjacency matrix [0 3; 0 0], [2, 3], [3, -2])

BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  134.417 μs …   4.111 ms  ┊ GC (min … max): 0.00% … 93.35%
 Time  (median):     136.834 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   147.842 μs ± 185.772 μs  ┊ GC (mean ± σ):  6.39% ±  4.88%

     ▄██▅▁
  ▁▃▆█████▇▅▅▅▄▄▃▃▂▂▂▂▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▂
  134 μs           Histogram: frequency by time          157 μs <

 Memory estimate: 185.09 KiB, allocs estimate: 2761.

Datum: (5-Kronecker quiver, with adjacency matrix [0 5; 0 0], [2, 3], [3, -2])

BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  133.917 μs …   3.997 ms  ┊ GC (min … max): 0.00% … 94.00%
 Time  (median):     137.083 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   147.908 μs ± 185.843 μs  ┊ GC (mean ± σ):  6.37% ±  4.87%

      ▃▇█▇▇▅▃▁
  ▁▁▃▅█████████▇▆▅▅▄▄▄▃▃▂▂▂▂▂▂▂▂▂▂▂▂▂▂▁▁▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▃
  134 μs           Histogram: frequency by time          154 μs <

 Memory estimate: 185.08 KiB, allocs estimate: 2760.

Benchmarking euler_form

Datum: (3-Kronecker quiver, with adjacency matrix [0 3; 0 0], [2, 3], [3, -2])

BenchmarkTools.Trial: 10000 samples with 4 evaluations.
 Range (min … max):  7.760 μs …  1.150 ms  ┊ GC (min … max): 0.00% … 98.61%
 Time  (median):     7.948 μs              ┊ GC (median):    0.00%
 Time  (mean ± σ):   8.260 μs ± 15.429 μs  ┊ GC (mean ± σ):  2.62% ±  1.39%

      █▆▇█▆▇
  ▁▂▃▆███████▆▅▄▆▄▄▄▃▃▂▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▂
  7.76 μs        Histogram: frequency by time        9.09 μs <

 Memory estimate: 4.09 KiB, allocs estimate: 66.

Datum: (5-Kronecker quiver, with adjacency matrix [0 5; 0 0], [2, 3], [3, -2])

BenchmarkTools.Trial: 10000 samples with 4 evaluations.
 Range (min … max):  7.729 μs …  1.045 ms  ┊ GC (min … max): 0.00% … 98.43%
 Time  (median):     7.938 μs              ┊ GC (median):    0.00%
 Time  (mean ± σ):   8.212 μs ± 14.663 μs  ┊ GC (mean ± σ):  2.50% ±  1.39%

       ▁▅▇█ ▆▄▂
  ▁▁▂▃▅█████████▆▅▄▅▄▃▄▄▃▄▃▃▂▂▁▂▁▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▃
  7.73 μs        Histogram: frequency by time        8.88 μs <

 Memory estimate: 4.09 KiB, allocs estimate: 66.

Benchmarking has_semistables

Datum: (3-Kronecker quiver, with adjacency matrix [0 3; 0 0], [2, 3], [3, -2])

BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  41.833 μs …   3.493 ms  ┊ GC (min … max): 0.00% … 97.39%
 Time  (median):     42.916 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   46.767 μs ± 108.437 μs  ┊ GC (mean ± σ):  7.26% ±  3.09%

      ▄▆█▇▅▃
  ▁▂▅▇███████▇▇▄▄▃▃▃▂▃▃▂▂▂▂▂▂▂▂▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▂
  41.8 μs         Histogram: frequency by time         49.5 μs <

 Memory estimate: 68.77 KiB, allocs estimate: 939.

Datum: (5-Kronecker quiver, with adjacency matrix [0 5; 0 0], [2, 3], [3, -2])

BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  41.583 μs …   3.474 ms  ┊ GC (min … max): 0.00% … 97.66%
 Time  (median):     42.709 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   46.576 μs ± 108.073 μs  ┊ GC (mean ± σ):  7.27% ±  3.09%

       ▂▆▃█▇▄
  ▁▁▂▃▇██████▇█▇▄▄▄▃▂▃▃▃▂▂▂▂▂▂▂▂▂▂▂▂▂▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▂
  41.6 μs         Histogram: frequency by time         48.4 μs <

 Memory estimate: 68.67 KiB, allocs estimate: 937.

Benchmarking _Hodge_polynomial_fast

Datum: (5-Kronecker quiver, with adjacency matrix [0 5; 0 0], [2, 3], [3, -2])

BenchmarkTools.Trial: 662 samples with 1 evaluation.
 Range (min … max):  4.882 ms … 53.823 ms  ┊ GC (min … max):  0.00% … 58.34%
 Time  (median):     4.948 ms              ┊ GC (median):     0.00%
 Time  (mean ± σ):   7.567 ms ± 10.714 ms  ┊ GC (mean ± σ):  21.53% ± 13.01%

  █                                                        ▁
  █▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▄▁▁▄▁▁▁▁▁▁▁▁▁▄▁▁▁▄▄▅█ ▆
  4.88 ms      Histogram: log(frequency) by time     52.8 ms <

 Memory estimate: 5.11 MiB, allocs estimate: 195437.

Benchmarking is_Schur_root

Datum: (5-Kronecker quiver, with adjacency matrix [0 5; 0 0], [2, 3])

BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  43.834 μs …   3.520 ms  ┊ GC (min … max): 0.00% … 97.71%
 Time  (median):     44.959 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   48.944 μs ± 108.817 μs  ┊ GC (mean ± σ):  6.97% ±  3.09%

     ▆▇██▃
  ▂▄▇█████▇▆▅▄▄▄▄▃▃▃▃▃▃▃▃▃▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▁▂▂▂▂▂▂▂▂▂▂▂▂▂▂ ▃
  43.8 μs         Histogram: frequency by time         54.5 μs <

 Memory estimate: 71.45 KiB, allocs estimate: 971.

Datum: (3-Kronecker quiver, with adjacency matrix [0 3; 0 0], [2, 3])

BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  44.083 μs …   3.779 ms  ┊ GC (min … max): 0.00% … 97.74%
 Time  (median):     45.250 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   49.266 μs ± 109.633 μs  ┊ GC (mean ± σ):  6.97% ±  3.09%

      ▃█▅▇▂▁
  ▁▂▃███████▆▅▃▄▃▃▃▂▃▂▂▂▃▂▂▂▂▂▂▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▂
  44.1 μs         Histogram: frequency by time         52.9 μs <

 Memory estimate: 71.55 KiB, allocs estimate: 973.

Benchmarking canonical_decomposition

Datum: (5-Kronecker quiver, with adjacency matrix [0 5; 0 0], [2, 3])

BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  57.083 μs …   3.772 ms  ┊ GC (min … max): 0.00% … 96.77%
 Time  (median):     58.500 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   64.116 μs ± 129.639 μs  ┊ GC (mean ± σ):  7.48% ±  3.64%

     ▂█▅▃
  ▁▃▅█████▆▅▄▃▃▃▂▃▂▂▃▂▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▂
  57.1 μs         Histogram: frequency by time         70.1 μs <

 Memory estimate: 97.84 KiB, allocs estimate: 1335.

Datum: (3-Kronecker quiver, with adjacency matrix [0 3; 0 0], [2, 3])

BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  57.166 μs …   3.794 ms  ┊ GC (min … max): 0.00% … 97.14%
 Time  (median):     58.542 μs               ┊ GC (median):    0.00%
 Time  (mean ± σ):   64.229 μs ± 129.496 μs  ┊ GC (mean ± σ):  7.47% ±  3.64%

    ▁▆█▆▂
  ▂▄█████▇▅▄▃▃▃▃▂▂▂▂▂▂▂▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▂
  57.2 μs         Histogram: frequency by time         71.9 μs <

 Memory estimate: 96.81 KiB, allocs estimate: 1330.

Benchmarking in_fundamental_domain

Datum: (5-Kronecker quiver, with adjacency matrix [0 5; 0 0], [2, 3])

BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  13.625 μs …  3.864 ms  ┊ GC (min … max): 0.00% … 99.19%
 Time  (median):     14.167 μs              ┊ GC (median):    0.00%
 Time  (mean ± σ):   14.862 μs ± 38.516 μs  ┊ GC (mean ± σ):  2.58% ±  0.99%

      ▅█ ▆▃
  ▁▂▄▅█████▅▇▅▃▄▃▂▃▃▂▃▃▂▃▂▁▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▂
  13.6 μs         Histogram: frequency by time        17.8 μs <

 Memory estimate: 11.45 KiB, allocs estimate: 166.

Datum: (3-Kronecker quiver, with adjacency matrix [0 3; 0 0], [2, 3])

BenchmarkTools.Trial: 10000 samples with 1 evaluation.
 Range (min … max):  13.625 μs …  3.847 ms  ┊ GC (min … max): 0.00% … 99.20%
 Time  (median):     14.083 μs              ┊ GC (median):    0.00%
 Time  (mean ± σ):   14.723 μs ± 38.341 μs  ┊ GC (mean ± σ):  2.59% ±  0.99%

    ▃▇█▇ ▂
  ▂▅████▇█▇▅▄▃▂▂▃▃▃▃▃▂▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ ▂
  13.6 μs         Histogram: frequency by time        18.2 μs <

 Memory estimate: 11.45 KiB, allocs estimate: 166.