inire/docs/performance.md
2026-04-02 22:30:22 -07:00

4.8 KiB

Performance Baseline

Generated on 2026-04-02 by scripts/record_performance_baseline.py.

The full machine-readable snapshot lives in docs/performance_baseline.json. Use scripts/diff_performance_baseline.py to compare a fresh run against that snapshot.

The default table below intentionally excludes the heavier performance-only no-warm example_07 canaries. Use scripts/record_iteration_trace.py and scripts/record_pre_pair_frontier_trace.py to inspect the late negotiated-congestion basin and pair-local handoff behavior for those scenarios.

Scenario Duration (s) Total Valid Reached Iter Nets Routed Nodes Ray Casts Moves Gen Moves Added Dyn Tree Visibility Builds Congestion Checks Verify Calls
example_01_simple_route 0.0037 1 1 1 1 1 2 10 11 7 0 0 0 5
example_02_congestion_resolution 0.3361 3 3 3 1 3 366 1164 1413 668 0 0 0 41
example_03_locked_paths 0.1877 2 2 2 2 2 191 657 904 307 0 0 0 18
example_04_sbends_and_radii 0.0269 2 2 2 1 2 15 70 123 65 0 0 0 10
example_05_orientation_stress 0.2311 3 3 3 2 5 297 1274 1680 689 0 0 146 20
example_06_bend_collision_models 0.1988 3 3 3 3 3 240 682 1026 629 0 0 0 15
example_07_large_scale_routing 0.2088 10 10 10 1 10 78 383 372 227 0 0 0 50
example_08_custom_bend_geometry 0.0177 2 2 2 2 2 18 56 78 56 0 0 0 10
example_09_unroutable_best_effort 0.0057 1 0 0 1 1 3 13 16 10 0 0 0 1

Full Counter Set

Each scenario entry in docs/performance_baseline.json records the full RouteMetrics snapshot, including cache, index, congestion, and verification counters. These counters are currently observational only and are not enforced as CI regression gates.

Tracked metric keys:

nodes_expanded, moves_generated, moves_added, pruned_closed_set, pruned_hard_collision, pruned_cost, route_iterations, nets_routed, nets_reached_target, warm_start_paths_built, warm_start_paths_used, refine_path_calls, timeout_events, iteration_reverify_calls, iteration_reverified_nets, iteration_conflicting_nets, iteration_conflict_edges, nets_carried_forward, score_component_calls, score_component_total_ns, path_cost_calls, danger_map_lookup_calls, danger_map_cache_hits, danger_map_cache_misses, danger_map_query_calls, danger_map_total_ns, move_cache_abs_hits, move_cache_abs_misses, move_cache_rel_hits, move_cache_rel_misses, guidance_match_moves, guidance_match_moves_straight, guidance_match_moves_bend90, guidance_match_moves_sbend, guidance_bonus_applied, guidance_bonus_applied_straight, guidance_bonus_applied_bend90, guidance_bonus_applied_sbend, static_safe_cache_hits, hard_collision_cache_hits, congestion_cache_hits, congestion_cache_misses, congestion_presence_cache_hits, congestion_presence_cache_misses, congestion_presence_skips, congestion_candidate_precheck_hits, congestion_candidate_precheck_misses, congestion_candidate_precheck_skips, congestion_grid_net_cache_hits, congestion_grid_net_cache_misses, congestion_grid_span_cache_hits, congestion_grid_span_cache_misses, congestion_candidate_nets, congestion_net_envelope_cache_hits, congestion_net_envelope_cache_misses, dynamic_path_objects_added, dynamic_path_objects_removed, dynamic_tree_rebuilds, dynamic_grid_rebuilds, static_tree_rebuilds, static_raw_tree_rebuilds, static_net_tree_rebuilds, visibility_corner_index_builds, visibility_builds, visibility_corner_pairs_checked, visibility_corner_queries_exact, visibility_corner_hits_exact, visibility_point_queries, visibility_point_cache_hits, visibility_point_cache_misses, visibility_tangent_candidate_scans, visibility_tangent_candidate_corner_checks, visibility_tangent_candidate_ray_tests, ray_cast_calls, ray_cast_calls_straight_static, ray_cast_calls_expand_snap, ray_cast_calls_expand_forward, ray_cast_calls_visibility_build, ray_cast_calls_visibility_query, ray_cast_calls_visibility_tangent, ray_cast_calls_other, ray_cast_candidate_bounds, ray_cast_exact_geometry_checks, congestion_check_calls, congestion_lazy_resolutions, congestion_lazy_requeues, congestion_candidate_ids, congestion_exact_pair_checks, verify_path_report_calls, verify_static_buffer_ops, verify_dynamic_candidate_nets, verify_dynamic_exact_pair_checks, refinement_windows_considered, refinement_static_bounds_checked, refinement_dynamic_bounds_checked, refinement_candidate_side_extents, refinement_candidates_built, refinement_candidates_verified, refinement_candidates_accepted, pair_local_search_pairs_considered, pair_local_search_attempts, pair_local_search_accepts, pair_local_search_nodes_expanded, late_phase_capped_nets, late_phase_capped_fallbacks