Avatar for the CQCL user
CQCL
portgraph
BlogDocsChangelog

refactor!: Add MaybeNodeIndex/PortIndex for performance

#232Merged
Comparing
lm/maybe-node
(
c287d98
) with
main
(
5b0e11a
)
CodSpeed Performance Gauge
+45%
Improvements
15
Regressions
0
Untouched
21
New
0
Dropped
0
Ignored
0

Benchmarks

Improved

clone_line_graph[10000]
benches/benchmarks/portgraph.rs::criterion_group::ClonePortgraph::criterion::clone_line_graph::clone_line_graph[10000]
CodSpeed Performance Gauge
+45%
1,121 µs
772.2 µs
clone_line_graph[1000000]
benches/benchmarks/portgraph.rs::criterion_group::ClonePortgraph::criterion::clone_line_graph::clone_line_graph[1000000]
CodSpeed Performance Gauge
+45%
61.2 ms
42.2 ms
traverse_tree_hierarchy[10000]
benches/benchmarks/hierarchy.rs::criterion_group::TraverseHierarchy::criterion::traverse_tree_hierarchy::traverse_tree_hierarchy[10000]
CodSpeed Performance Gauge
+26%
1,038.7 µs
823.5 µs
traverse_tree_hierarchy[1000]
benches/benchmarks/hierarchy.rs::criterion_group::TraverseHierarchy::criterion::traverse_tree_hierarchy::traverse_tree_hierarchy[1000]
CodSpeed Performance Gauge
+25%
108 µs
86.5 µs
make_line_graph[10000]
benches/benchmarks/portgraph.rs::criterion_group::MakePortgraph::criterion::make_line_graph::make_line_graph[10000]
CodSpeed Performance Gauge
+24%
2.6 ms
2.1 ms
resize_ports[1000]
benches/benchmarks/portgraph.rs::criterion_group::ResizePorts::criterion::resize_ports::resize_ports[1000]
CodSpeed Performance Gauge
+22%
327.6 µs
267.5 µs
make_line_graph[1000000]
benches/benchmarks/portgraph.rs::criterion_group::MakePortgraph::criterion::make_line_graph::make_line_graph[1000000]
CodSpeed Performance Gauge
+22%
265.8 ms
217.6 ms
clone_line_graph[100]
benches/benchmarks/portgraph.rs::criterion_group::ClonePortgraph::criterion::clone_line_graph::clone_line_graph[100]
CodSpeed Performance Gauge
+22%
10.7 µs
8.8 µs
make_line_graph[100]
benches/benchmarks/portgraph.rs::criterion_group::MakePortgraph::criterion::make_line_graph::make_line_graph[100]
CodSpeed Performance Gauge
+19%
32.1 µs
26.9 µs
initialize_tree_hierarchy[10000]
benches/benchmarks/hierarchy.rs::criterion_group::CreateHierarchy::criterion::initialize_tree_hierarchy::initialize_tree_hierarchy[10000]
CodSpeed Performance Gauge
+18%
1.5 ms
1.2 ms
traverse_tree_hierarchy[100]
benches/benchmarks/hierarchy.rs::criterion_group::TraverseHierarchy::criterion::traverse_tree_hierarchy::traverse_tree_hierarchy[100]
CodSpeed Performance Gauge
+18%
13.9 µs
11.7 µs
initialize_tree_hierarchy[1000]
benches/benchmarks/hierarchy.rs::criterion_group::CreateHierarchy::criterion::initialize_tree_hierarchy::initialize_tree_hierarchy[1000]
CodSpeed Performance Gauge
+18%
148 µs
125.1 µs
remove_unordered[100]
benches/benchmarks/portgraph.rs::criterion_group::RemoveUnordered::criterion::remove_unordered::remove_unordered[100]
CodSpeed Performance Gauge
+16%
13 µs
11.2 µs
initialize_tree_hierarchy[100]
benches/benchmarks/hierarchy.rs::criterion_group::CreateHierarchy::criterion::initialize_tree_hierarchy::initialize_tree_hierarchy[100]
CodSpeed Performance Gauge
+15%
17.5 µs
15.2 µs
resize_ports[10000]
benches/benchmarks/portgraph.rs::criterion_group::ResizePorts::criterion::resize_ports::resize_ports[10000]
CodSpeed Performance Gauge
+12%
3.2 ms
2.8 ms

Passed

resize_ports[100]
benches/benchmarks/portgraph.rs::criterion_group::ResizePorts::criterion::resize_ports::resize_ports[100]
CodSpeed Performance Gauge
+7%
37.1 µs
34.7 µs
render_dot[100]
benches/benchmarks/render.rs::criterion_group::RenderDot::criterion::render_dot::render_dot[100]
CodSpeed Performance Gauge
+7%
2 ms
1.9 ms
remove_unordered[1000]
benches/benchmarks/portgraph.rs::criterion_group::RemoveUnordered::criterion::remove_unordered::remove_unordered[1000]
CodSpeed Performance Gauge
+6%
89.4 µs
84.4 µs
remove_unordered[10000]
benches/benchmarks/portgraph.rs::criterion_group::RemoveUnordered::criterion::remove_unordered::remove_unordered[10000]
CodSpeed Performance Gauge
+6%
934.3 µs
882.1 µs
render_mermaid[1000]
benches/benchmarks/render.rs::criterion_group::RenderMermaid::criterion::render_mermaid::render_mermaid[1000]
CodSpeed Performance Gauge
+5%
6.2 ms
6 ms
initialize_convexity[10000]
benches/benchmarks/convex.rs::criterion_group::ConvexConstruction::criterion::initialize_convexity::initialize_convexity[10000]
CodSpeed Performance Gauge
+4%
10.4 ms
10.1 ms
check_convexity_full[1000]
benches/benchmarks/convex.rs::criterion_group::ConvexFull::criterion::check_convexity_full::check_convexity_full[1000]
CodSpeed Performance Gauge
+4%
543 µs
524.6 µs
check_convexity_full[10000]
benches/benchmarks/convex.rs::criterion_group::ConvexFull::criterion::check_convexity_full::check_convexity_full[10000]
CodSpeed Performance Gauge
+3%
6.3 ms
6.1 ms
initialize_convexity[1000]
benches/benchmarks/convex.rs::criterion_group::ConvexConstruction::criterion::initialize_convexity::initialize_convexity[1000]
CodSpeed Performance Gauge
+3%
1 ms
1 ms
initialize_convexity[100]
benches/benchmarks/convex.rs::criterion_group::ConvexConstruction::criterion::initialize_convexity::initialize_convexity[100]
CodSpeed Performance Gauge
+3%
114.6 µs
111.4 µs
toposort[1000]
benches/benchmarks/toposort.rs::criterion_group::Toposort::criterion::toposort::toposort[1000]
CodSpeed Performance Gauge
+3%
872.7 µs
850.4 µs
toposort[10000]
benches/benchmarks/toposort.rs::criterion_group::Toposort::criterion::toposort::toposort[10000]
CodSpeed Performance Gauge
+3%
8.6 ms
8.4 ms
toposort[100]
benches/benchmarks/toposort.rs::criterion_group::Toposort::criterion::toposort::toposort[100]
CodSpeed Performance Gauge
+3%
93 µs
90.7 µs
check_convexity_full[100]
benches/benchmarks/convex.rs::criterion_group::ConvexFull::criterion::check_convexity_full::check_convexity_full[100]
CodSpeed Performance Gauge
+3%
54.8 µs
53.5 µs
render_dot[10000]
benches/benchmarks/render.rs::criterion_group::RenderDot::criterion::render_dot::render_dot[10000]
CodSpeed Performance Gauge
+1%
201.6 ms
198.8 ms
render_mermaid[10000]
benches/benchmarks/render.rs::criterion_group::RenderMermaid::criterion::render_mermaid::render_mermaid[10000]
CodSpeed Performance Gauge
+1%
61.5 ms
60.7 ms
render_dot[1000]
benches/benchmarks/render.rs::criterion_group::RenderDot::criterion::render_dot::render_dot[1000]
CodSpeed Performance Gauge
+1%
19.2 ms
19 ms
render_mermaid[100]
benches/benchmarks/render.rs::criterion_group::RenderMermaid::criterion::render_mermaid::render_mermaid[100]
CodSpeed Performance Gauge
+1%
572.6 µs
568.5 µs
check_convexity_sparse[10000]
benches/benchmarks/convex.rs::criterion_group::ConvexSparse::criterion::check_convexity_sparse::check_convexity_sparse[10000]
CodSpeed Performance Gauge
0%
43.3 µs
43.4 µs
check_convexity_sparse[1000]
benches/benchmarks/convex.rs::criterion_group::ConvexSparse::criterion::check_convexity_sparse::check_convexity_sparse[1000]
CodSpeed Performance Gauge
-1%
15.8 µs
15.9 µs
check_convexity_sparse[100]
benches/benchmarks/convex.rs::criterion_group::ConvexSparse::criterion::check_convexity_sparse::check_convexity_sparse[100]
CodSpeed Performance Gauge
-1%
7.5 µs
7.6 µs

Commits

Click on a commit to change the comparison range
Base
main
5b0e11a
+45%
refactor: Add MaybeNodeIndex/PortIndex for performance
c287d98
3 days ago
by lmondada
© 2025 CodSpeed Technology
Home Terms Privacy Docs