Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add benchmarks #58

Merged
merged 8 commits into from
May 9, 2024
Merged

Add benchmarks #58

merged 8 commits into from
May 9, 2024

Conversation

adrhill
Copy link
Owner

@adrhill adrhill commented May 9, 2024

Closes #54.


Some results from running the benchmark suite:

julia> median(results["Jacobian"]["Global"])
4-element BenchmarkTools.BenchmarkGroup:
  tags: []
  "sparse_matmul" => 5-element BenchmarkTools.BenchmarkGroup:
          tags: []
          "0.01" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(11.458 μs)
                  "Set{UInt64}" => TrialEstimate(16.709 μs)
                  "DuplicateVector{UInt64}" => TrialEstimate(11.334 μs)
                  "SortedVector{UInt64}" => TrialEstimate(11.375 μs)
          "0.1" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(101.916 μs)
                  "Set{UInt64}" => TrialEstimate(838.167 μs)
                  "DuplicateVector{UInt64}" => TrialEstimate(1.177 ms)
                  "SortedVector{UInt64}" => TrialEstimate(220.375 μs)
          "0.5" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(398.667 μs)
                  "Set{UInt64}" => TrialEstimate(4.983 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(30.407 s)
                  "SortedVector{UInt64}" => TrialEstimate(1.326 ms)
          "0.05" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(62.209 μs)
                  "Set{UInt64}" => TrialEstimate(263.041 μs)
                  "DuplicateVector{UInt64}" => TrialEstimate(111.417 μs)
                  "SortedVector{UInt64}" => TrialEstimate(91.542 μs)
          "0.25" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(263.708 μs)
                  "Set{UInt64}" => TrialEstimate(2.528 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(177.878 ms)
                  "SortedVector{UInt64}" => TrialEstimate(699.105 μs)
  "conv" => 2-element BenchmarkTools.BenchmarkGroup:
          tags: []
          "28" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(14.152 ms)
                  "Set{UInt64}" => TrialEstimate(56.334 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(8.026 ms)
                  "SortedVector{UInt64}" => TrialEstimate(23.243 ms)
          "128" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(2.027 s)
                  "Set{UInt64}" => TrialEstimate(1.563 s)
                  "DuplicateVector{UInt64}" => TrialEstimate(278.503 ms)
                  "SortedVector{UInt64}" => TrialEstimate(633.143 ms)
  "brusselator_ode_solve" => 3-element BenchmarkTools.BenchmarkGroup:
          tags: []
          "24" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(4.736 ms)
                  "Set{UInt64}" => TrialEstimate(71.128 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(631.189 ms)
                  "SortedVector{UInt64}" => TrialEstimate(11.520 ms)
          "6" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(214.125 μs)
                  "Set{UInt64}" => TrialEstimate(2.515 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(25.686 ms)
                  "SortedVector{UInt64}" => TrialEstimate(591.083 μs)
          "100" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(541.560 ms)
                  "Set{UInt64}" => TrialEstimate(1.464 s)
                  "DuplicateVector{UInt64}" => TrialEstimate(32.655 s)
                  "SortedVector{UInt64}" => TrialEstimate(243.493 ms)
  "brusselator" => 3-element BenchmarkTools.BenchmarkGroup:
          tags: []
          "24" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(607.375 μs)
                  "Set{UInt64}" => TrialEstimate(1.205 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(503.354 μs)
                  "SortedVector{UInt64}" => TrialEstimate(565.813 μs)
          "6" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(32.792 μs)
                  "Set{UInt64}" => TrialEstimate(70.500 μs)
                  "DuplicateVector{UInt64}" => TrialEstimate(31.625 μs)
                  "SortedVector{UInt64}" => TrialEstimate(37.417 μs)
          "100" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(32.448 ms)
                  "Set{UInt64}" => TrialEstimate(26.971 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(9.066 ms)
                  "SortedVector{UInt64}" => TrialEstimate(10.218 ms)

@adrhill adrhill added the run benchmark Run benchmarks in CI label May 9, 2024
@codecov-commenter
Copy link

codecov-commenter commented May 9, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 70.62%. Comparing base (0dd1bbd) to head (43cf4ca).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #58   +/-   ##
=======================================
  Coverage   70.62%   70.62%           
=======================================
  Files          12       12           
  Lines         429      429           
=======================================
  Hits          303      303           
  Misses        126      126           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@adrhill
Copy link
Owner Author

adrhill commented May 9, 2024

BenchmarkCI failure is normal, as they don't exist on master yet.

@adrhill adrhill removed the run benchmark Run benchmarks in CI label May 9, 2024
@adrhill
Copy link
Owner Author

adrhill commented May 9, 2024

Updated output:

julia> median(results["Jacobian"]["Global"])
4-element BenchmarkTools.BenchmarkGroup:
  tags: []
  "sparse_matmul" => 4-element BenchmarkTools.BenchmarkGroup:
          tags: []
          "sparsity=0.05" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(59.542 μs)
                  "Set{UInt64}" => TrialEstimate(258.125 μs)
                  "DuplicateVector{UInt64}" => TrialEstimate(108.500 μs)
                  "SortedVector{UInt64}" => TrialEstimate(90.000 μs)
          "sparsity=0.01" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(11.500 μs)
                  "Set{UInt64}" => TrialEstimate(17.083 μs)
                  "DuplicateVector{UInt64}" => TrialEstimate(10.792 μs)
                  "SortedVector{UInt64}" => TrialEstimate(11.333 μs)
          "sparsity=0.25" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(268.375 μs)
                  "Set{UInt64}" => TrialEstimate(2.485 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(128.338 ms)
                  "SortedVector{UInt64}" => TrialEstimate(688.458 μs)
          "sparsity=0.1" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(101.605 μs)
                  "Set{UInt64}" => TrialEstimate(834.375 μs)
                  "DuplicateVector{UInt64}" => TrialEstimate(1.207 ms)
                  "SortedVector{UInt64}" => TrialEstimate(236.208 μs)
  "conv" => 2-element BenchmarkTools.BenchmarkGroup:
          tags: []
          "size=28x28x3x1" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(11.736 ms)
                  "Set{UInt64}" => TrialEstimate(63.068 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(8.667 ms)
                  "SortedVector{UInt64}" => TrialEstimate(24.388 ms)
          "size=128x128x3x1" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(1.977 s)
                  "Set{UInt64}" => TrialEstimate(1.552 s)
                  "DuplicateVector{UInt64}" => TrialEstimate(265.054 ms)
                  "SortedVector{UInt64}" => TrialEstimate(627.820 ms)
  "brusselator_ode_solve" => 3-element BenchmarkTools.BenchmarkGroup:
          tags: []
          "N=6" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(83.771 μs)
                  "Set{UInt64}" => TrialEstimate(333.958 μs)
                  "DuplicateVector{UInt64}" => TrialEstimate(116.458 μs)
                  "SortedVector{UInt64}" => TrialEstimate(128.542 μs)
          "N=100" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(135.492 ms)
                  "Set{UInt64}" => TrialEstimate(179.689 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(41.716 ms)
                  "SortedVector{UInt64}" => TrialEstimate(40.989 ms)
          "N=24" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(1.531 ms)
                  "Set{UInt64}" => TrialEstimate(7.411 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(1.786 ms)
                  "SortedVector{UInt64}" => TrialEstimate(1.718 ms)
  "brusselator" => 3-element BenchmarkTools.BenchmarkGroup:
          tags: []
          "N=6" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(32.083 μs)
                  "Set{UInt64}" => TrialEstimate(70.437 μs)
                  "DuplicateVector{UInt64}" => TrialEstimate(31.125 μs)
                  "SortedVector{UInt64}" => TrialEstimate(37.584 μs)
          "N=100" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(34.251 ms)
                  "Set{UInt64}" => TrialEstimate(32.541 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(8.799 ms)
                  "SortedVector{UInt64}" => TrialEstimate(10.505 ms)
          "N=24" => 4-element BenchmarkTools.BenchmarkGroup:
                  tags: []
                  "BitSet" => TrialEstimate(574.229 μs)
                  "Set{UInt64}" => TrialEstimate(1.176 ms)
                  "DuplicateVector{UInt64}" => TrialEstimate(488.000 μs)
                  "SortedVector{UInt64}" => TrialEstimate(545.958 μs)

@adrhill adrhill merged commit 5270deb into main May 9, 2024
3 checks passed
@adrhill adrhill deleted the ah/bench branch May 9, 2024 23:51
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.

Add CI benchmarking
2 participants