snowleopard / alga

Algebraic graphs
MIT License
717 stars 68 forks source link

Add benchmarks to CI #281

Open snowleopard opened 2 years ago

snowleopard commented 2 years ago

We used to have benchmarks running in CI on every commit, which helped us to catch performance regressions. This functionality was initially implemented in #82, but I accidentally dropped it when migrating CI to GitHub Actions in this commit.

The benchmarking script produced a performance summary for a few Algebra.Graph functions, like this:

addEdge: 1.10 (OK)
addVertex: 1.10 (bad)
dff: 1.00 (OK)
edgeCount: 1.00 (OK)
edgeList: 1.01 (OK)
edges: 1.06 (OK)
equality: 1.00 (OK)
hasEdge: 0.97 (OK)
hasVertex: 0.99 (OK)
isEmpty: 0.92 (OK)
reachable: 1.00 (OK)
removeEdge: 0.96 (OK)
removeVertex: 0.83 (good)
topSort: 1.01 (OK)
transpose: 1.04 (OK)
vertexCount: 0.94 (OK)
vertexList: 0.98 (OK)

It would be great to restore this functionality. The benchmarking script itself is still available here, although it might require some refreshing.

/cc @cyoon1729 who was interested in helping with this.

cyoon1729 commented 2 years ago

Excited to look into this!

snowleopard commented 2 years ago

Awesome, thank you!