various performance work (wip)

This commit is contained in:
Jan Petykiewicz 2026-04-01 21:29:23 -07:00
commit 71e263c527
25 changed files with 4071 additions and 326 deletions

View file

@ -16,7 +16,7 @@
- `inire/geometry/primitives.py`: Integer Manhattan ports and small transform helpers.
- `inire/geometry/components.py`: `Straight`, `Bend90`, and `SBend` geometry generation.
- `inire/geometry/collision.py`: Routing-world collision, congestion, ray-cast, and path-verification logic.
- `inire/geometry/static_obstacle_index.py` and `inire/geometry/dynamic_path_index.py`: Spatial-index management for static obstacles and routed paths.
- `inire/geometry/static_obstacle_index.py` and `inire/geometry/dynamic_path_index.py`: Spatial-index management for static obstacles and routed paths, including dynamic per-object indices, per-net grid occupancy, congestion grid membership, and per-net dynamic envelopes.
- `inire/router/_search.py`, `_astar_moves.py`, `_astar_admission.py`, `_astar_types.py`: The state-lattice A* search loop and move admission pipeline.
- `inire/router/_router.py`: The negotiated-congestion driver and refinement orchestration.
- `inire/router/refiner.py`: Post-route path simplification for completed paths.
@ -39,7 +39,9 @@ The search state is a snapped Manhattan `(x, y, r)` port. From each state the ro
- Static obstacles and routed paths are treated as single-layer geometry; automatic crossings are not supported.
- The danger-map implementation uses sampled obstacle-boundary points and a KD-tree, not a dense distance-transform grid.
- The visibility subsystem keeps a lazy static corner index for default `tangent_corner` guidance and only builds the exact corner-to-corner graph on demand for `exact_corner` queries.
- `use_tiered_strategy` can swap in a cheaper bend proxy on the first congestion iteration.
- Negotiated congestion now re-verifies every reached-target path at the end of each iteration against the final installed dynamic geometry, and it stops early if the conflict graph stalls for consecutive iterations.
- Final `RoutingResult` validity is determined by explicit post-route verification, not only by search-time pruning.
## Performance Visibility

File diff suppressed because it is too large Load diff

View file

@ -1,21 +1,21 @@
# Performance Baseline
Generated on 2026-03-31 by `scripts/record_performance_baseline.py`.
Generated on 2026-04-01 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.
| 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.0042 | 1 | 1 | 1 | 1 | 1 | 2 | 22 | 11 | 7 | 2 | 2 | 0 | 3 |
| example_02_congestion_resolution | 0.3418 | 3 | 3 | 3 | 1 | 3 | 366 | 1176 | 1413 | 668 | 8 | 4 | 0 | 35 |
| example_03_locked_paths | 0.1827 | 2 | 2 | 2 | 2 | 2 | 191 | 681 | 904 | 307 | 5 | 4 | 0 | 14 |
| example_04_sbends_and_radii | 1.9938 | 2 | 2 | 2 | 1 | 2 | 15 | 18218 | 123 | 65 | 4 | 3 | 0 | 6 |
| example_05_orientation_stress | 0.2458 | 3 | 3 | 3 | 2 | 6 | 286 | 1243 | 1624 | 681 | 12 | 3 | 412 | 12 |
| example_06_bend_collision_models | 4.1186 | 3 | 3 | 3 | 3 | 3 | 240 | 40530 | 1026 | 629 | 6 | 6 | 0 | 9 |
| example_07_large_scale_routing | 1.3734 | 10 | 10 | 10 | 1 | 10 | 78 | 11151 | 372 | 227 | 20 | 11 | 0 | 30 |
| example_08_custom_bend_geometry | 0.2410 | 2 | 2 | 2 | 2 | 2 | 18 | 2308 | 78 | 56 | 4 | 4 | 0 | 6 |
| example_09_unroutable_best_effort | 0.0052 | 1 | 0 | 0 | 1 | 1 | 3 | 13 | 16 | 10 | 1 | 0 | 0 | 1 |
| example_01_simple_route | 0.0036 | 1 | 1 | 1 | 1 | 1 | 2 | 10 | 11 | 7 | 0 | 0 | 0 | 3 |
| example_02_congestion_resolution | 0.3297 | 3 | 3 | 3 | 1 | 3 | 366 | 1164 | 1413 | 668 | 0 | 0 | 0 | 35 |
| example_03_locked_paths | 0.1832 | 2 | 2 | 2 | 2 | 2 | 191 | 657 | 904 | 307 | 0 | 0 | 0 | 14 |
| example_04_sbends_and_radii | 0.0260 | 2 | 2 | 2 | 1 | 2 | 15 | 70 | 123 | 65 | 0 | 0 | 0 | 6 |
| example_05_orientation_stress | 0.2348 | 3 | 3 | 3 | 2 | 6 | 286 | 1243 | 1624 | 681 | 0 | 0 | 155 | 15 |
| example_06_bend_collision_models | 0.1953 | 3 | 3 | 3 | 3 | 3 | 240 | 682 | 1026 | 629 | 0 | 0 | 0 | 9 |
| example_07_large_scale_routing | 0.1945 | 10 | 10 | 10 | 1 | 10 | 78 | 383 | 372 | 227 | 0 | 0 | 0 | 30 |
| example_08_custom_bend_geometry | 0.0177 | 2 | 2 | 2 | 2 | 2 | 18 | 56 | 78 | 56 | 0 | 0 | 0 | 6 |
| example_09_unroutable_best_effort | 0.0058 | 1 | 0 | 0 | 1 | 1 | 3 | 13 | 16 | 10 | 0 | 0 | 0 | 1 |
## Full Counter Set
@ -24,4 +24,4 @@ These counters are currently observational only and are not enforced as CI regre
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, 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, static_safe_cache_hits, hard_collision_cache_hits, congestion_cache_hits, congestion_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_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_exact_pair_checks, verify_path_report_calls, verify_static_buffer_ops, 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
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, 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

View file

@ -1,30 +1,51 @@
{
"generated_on": "2026-03-31",
"generated_on": "2026-04-01",
"generator": "scripts/record_performance_baseline.py",
"scenarios": [
{
"duration_s": 0.00415895797777921,
"duration_s": 0.0035884700482711196,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
"congestion_candidate_ids": 0,
"congestion_candidate_nets": 0,
"congestion_candidate_precheck_hits": 0,
"congestion_candidate_precheck_misses": 0,
"congestion_candidate_precheck_skips": 0,
"congestion_check_calls": 0,
"congestion_exact_pair_checks": 0,
"danger_map_cache_hits": 8,
"danger_map_cache_misses": 13,
"danger_map_lookup_calls": 21,
"congestion_grid_net_cache_hits": 0,
"congestion_grid_net_cache_misses": 0,
"congestion_grid_span_cache_hits": 0,
"congestion_grid_span_cache_misses": 0,
"congestion_lazy_requeues": 0,
"congestion_lazy_resolutions": 0,
"congestion_net_envelope_cache_hits": 0,
"congestion_net_envelope_cache_misses": 0,
"congestion_presence_cache_hits": 0,
"congestion_presence_cache_misses": 0,
"congestion_presence_skips": 0,
"danger_map_cache_hits": 0,
"danger_map_cache_misses": 0,
"danger_map_lookup_calls": 0,
"danger_map_query_calls": 0,
"danger_map_total_ns": 27079,
"danger_map_total_ns": 0,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 2,
"dynamic_path_objects_removed": 1,
"dynamic_tree_rebuilds": 2,
"dynamic_path_objects_added": 3,
"dynamic_path_objects_removed": 2,
"dynamic_tree_rebuilds": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
"iteration_reverified_nets": 1,
"iteration_reverify_calls": 1,
"move_cache_abs_hits": 1,
"move_cache_abs_misses": 10,
"move_cache_rel_hits": 0,
"move_cache_rel_misses": 10,
"moves_added": 7,
"moves_generated": 11,
"nets_carried_forward": 0,
"nets_reached_target": 1,
"nets_routed": 1,
"nodes_expanded": 2,
@ -32,15 +53,15 @@
"pruned_closed_set": 0,
"pruned_cost": 4,
"pruned_hard_collision": 0,
"ray_cast_calls": 22,
"ray_cast_calls": 10,
"ray_cast_calls_expand_forward": 1,
"ray_cast_calls_expand_snap": 1,
"ray_cast_calls_other": 0,
"ray_cast_calls_straight_static": 8,
"ray_cast_calls_visibility_build": 12,
"ray_cast_calls_visibility_build": 0,
"ray_cast_calls_visibility_query": 0,
"ray_cast_calls_visibility_tangent": 0,
"ray_cast_candidate_bounds": 12,
"ray_cast_candidate_bounds": 0,
"ray_cast_exact_geometry_checks": 0,
"refine_path_calls": 1,
"refinement_candidate_side_extents": 0,
@ -52,18 +73,20 @@
"refinement_windows_considered": 0,
"route_iterations": 1,
"score_component_calls": 11,
"score_component_total_ns": 59404,
"score_component_total_ns": 16010,
"static_net_tree_rebuilds": 1,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 1,
"static_tree_rebuilds": 1,
"static_tree_rebuilds": 0,
"timeout_events": 0,
"verify_dynamic_candidate_nets": 0,
"verify_dynamic_exact_pair_checks": 0,
"verify_path_report_calls": 3,
"verify_static_buffer_ops": 0,
"visibility_builds": 2,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
"visibility_corner_pairs_checked": 12,
"visibility_corner_index_builds": 1,
"visibility_corner_pairs_checked": 0,
"visibility_corner_queries_exact": 0,
"visibility_point_cache_hits": 0,
"visibility_point_cache_misses": 0,
@ -80,28 +103,49 @@
"valid_results": 1
},
{
"duration_s": 0.34182924893684685,
"duration_s": 0.32969290704932064,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
"congestion_candidate_ids": 0,
"congestion_candidate_nets": 0,
"congestion_candidate_precheck_hits": 0,
"congestion_candidate_precheck_misses": 0,
"congestion_candidate_precheck_skips": 0,
"congestion_check_calls": 0,
"congestion_exact_pair_checks": 0,
"danger_map_cache_hits": 1433,
"danger_map_cache_misses": 775,
"danger_map_lookup_calls": 2208,
"congestion_grid_net_cache_hits": 0,
"congestion_grid_net_cache_misses": 0,
"congestion_grid_span_cache_hits": 0,
"congestion_grid_span_cache_misses": 0,
"congestion_lazy_requeues": 0,
"congestion_lazy_resolutions": 0,
"congestion_net_envelope_cache_hits": 0,
"congestion_net_envelope_cache_misses": 0,
"congestion_presence_cache_hits": 0,
"congestion_presence_cache_misses": 0,
"congestion_presence_skips": 0,
"danger_map_cache_hits": 0,
"danger_map_cache_misses": 0,
"danger_map_lookup_calls": 0,
"danger_map_query_calls": 0,
"danger_map_total_ns": 2165333,
"danger_map_total_ns": 0,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 32,
"dynamic_path_objects_removed": 17,
"dynamic_tree_rebuilds": 8,
"dynamic_path_objects_added": 49,
"dynamic_path_objects_removed": 34,
"dynamic_tree_rebuilds": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
"iteration_reverified_nets": 3,
"iteration_reverify_calls": 1,
"move_cache_abs_hits": 12,
"move_cache_abs_misses": 1401,
"move_cache_rel_hits": 1293,
"move_cache_rel_misses": 108,
"moves_added": 668,
"moves_generated": 1413,
"nets_carried_forward": 0,
"nets_reached_target": 3,
"nets_routed": 3,
"nodes_expanded": 366,
@ -109,15 +153,15 @@
"pruned_closed_set": 157,
"pruned_cost": 208,
"pruned_hard_collision": 380,
"ray_cast_calls": 1176,
"ray_cast_calls": 1164,
"ray_cast_calls_expand_forward": 363,
"ray_cast_calls_expand_snap": 19,
"ray_cast_calls_other": 0,
"ray_cast_calls_straight_static": 529,
"ray_cast_calls_visibility_build": 12,
"ray_cast_calls_visibility_build": 0,
"ray_cast_calls_visibility_query": 0,
"ray_cast_calls_visibility_tangent": 253,
"ray_cast_candidate_bounds": 925,
"ray_cast_candidate_bounds": 913,
"ray_cast_exact_geometry_checks": 136,
"refine_path_calls": 3,
"refinement_candidate_side_extents": 26,
@ -129,23 +173,25 @@
"refinement_windows_considered": 10,
"route_iterations": 1,
"score_component_calls": 976,
"score_component_total_ns": 4650167,
"score_component_total_ns": 1091130,
"static_net_tree_rebuilds": 3,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 1,
"static_tree_rebuilds": 2,
"timeout_events": 0,
"verify_dynamic_exact_pair_checks": 90,
"verify_dynamic_candidate_nets": 84,
"verify_dynamic_exact_pair_checks": 82,
"verify_path_report_calls": 35,
"verify_static_buffer_ops": 0,
"visibility_builds": 4,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
"visibility_corner_pairs_checked": 12,
"visibility_corner_index_builds": 3,
"visibility_corner_pairs_checked": 0,
"visibility_corner_queries_exact": 0,
"visibility_point_cache_hits": 0,
"visibility_point_cache_misses": 0,
"visibility_point_queries": 0,
"visibility_tangent_candidate_corner_checks": 18991,
"visibility_tangent_candidate_corner_checks": 873,
"visibility_tangent_candidate_ray_tests": 253,
"visibility_tangent_candidate_scans": 363,
"warm_start_paths_built": 3,
@ -157,28 +203,49 @@
"valid_results": 3
},
{
"duration_s": 0.18274989898782223,
"duration_s": 0.18321374501101673,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
"congestion_candidate_ids": 0,
"congestion_candidate_nets": 0,
"congestion_candidate_precheck_hits": 0,
"congestion_candidate_precheck_misses": 0,
"congestion_candidate_precheck_skips": 0,
"congestion_check_calls": 0,
"congestion_exact_pair_checks": 0,
"danger_map_cache_hits": 624,
"danger_map_cache_misses": 414,
"danger_map_lookup_calls": 1038,
"congestion_grid_net_cache_hits": 0,
"congestion_grid_net_cache_misses": 0,
"congestion_grid_span_cache_hits": 0,
"congestion_grid_span_cache_misses": 0,
"congestion_lazy_requeues": 0,
"congestion_lazy_resolutions": 0,
"congestion_net_envelope_cache_hits": 0,
"congestion_net_envelope_cache_misses": 0,
"congestion_presence_cache_hits": 0,
"congestion_presence_cache_misses": 0,
"congestion_presence_skips": 0,
"danger_map_cache_hits": 0,
"danger_map_cache_misses": 0,
"danger_map_lookup_calls": 0,
"danger_map_query_calls": 0,
"danger_map_total_ns": 1001517,
"danger_map_total_ns": 0,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 17,
"dynamic_path_objects_removed": 10,
"dynamic_tree_rebuilds": 5,
"dynamic_path_objects_added": 27,
"dynamic_path_objects_removed": 20,
"dynamic_tree_rebuilds": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
"iteration_reverified_nets": 2,
"iteration_reverify_calls": 2,
"move_cache_abs_hits": 1,
"move_cache_abs_misses": 903,
"move_cache_rel_hits": 821,
"move_cache_rel_misses": 82,
"moves_added": 307,
"moves_generated": 904,
"nets_carried_forward": 0,
"nets_reached_target": 2,
"nets_routed": 2,
"nodes_expanded": 191,
@ -186,15 +253,15 @@
"pruned_closed_set": 97,
"pruned_cost": 140,
"pruned_hard_collision": 181,
"ray_cast_calls": 681,
"ray_cast_calls": 657,
"ray_cast_calls_expand_forward": 189,
"ray_cast_calls_expand_snap": 8,
"ray_cast_calls_other": 0,
"ray_cast_calls_straight_static": 407,
"ray_cast_calls_visibility_build": 24,
"ray_cast_calls_visibility_build": 0,
"ray_cast_calls_visibility_query": 0,
"ray_cast_calls_visibility_tangent": 53,
"ray_cast_candidate_bounds": 179,
"ray_cast_candidate_bounds": 155,
"ray_cast_exact_geometry_checks": 0,
"refine_path_calls": 2,
"refinement_candidate_side_extents": 8,
@ -206,23 +273,25 @@
"refinement_windows_considered": 2,
"route_iterations": 2,
"score_component_calls": 504,
"score_component_total_ns": 2184569,
"score_component_total_ns": 556716,
"static_net_tree_rebuilds": 2,
"static_raw_tree_rebuilds": 1,
"static_safe_cache_hits": 1,
"static_tree_rebuilds": 2,
"static_tree_rebuilds": 1,
"timeout_events": 0,
"verify_dynamic_exact_pair_checks": 0,
"verify_dynamic_candidate_nets": 8,
"verify_dynamic_exact_pair_checks": 8,
"verify_path_report_calls": 14,
"verify_static_buffer_ops": 69,
"visibility_builds": 4,
"verify_static_buffer_ops": 72,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
"visibility_corner_pairs_checked": 24,
"visibility_corner_index_builds": 2,
"visibility_corner_pairs_checked": 0,
"visibility_corner_queries_exact": 0,
"visibility_point_cache_hits": 0,
"visibility_point_cache_misses": 0,
"visibility_point_queries": 0,
"visibility_tangent_candidate_corner_checks": 476,
"visibility_tangent_candidate_corner_checks": 56,
"visibility_tangent_candidate_ray_tests": 53,
"visibility_tangent_candidate_scans": 189,
"warm_start_paths_built": 2,
@ -234,28 +303,49 @@
"valid_results": 2
},
{
"duration_s": 1.993830946041271,
"duration_s": 0.026024609920568764,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
"congestion_candidate_ids": 0,
"congestion_candidate_nets": 0,
"congestion_candidate_precheck_hits": 0,
"congestion_candidate_precheck_misses": 0,
"congestion_candidate_precheck_skips": 0,
"congestion_check_calls": 0,
"congestion_exact_pair_checks": 0,
"danger_map_cache_hits": 75,
"danger_map_cache_misses": 120,
"danger_map_lookup_calls": 195,
"congestion_grid_net_cache_hits": 0,
"congestion_grid_net_cache_misses": 0,
"congestion_grid_span_cache_hits": 0,
"congestion_grid_span_cache_misses": 0,
"congestion_lazy_requeues": 0,
"congestion_lazy_resolutions": 0,
"congestion_net_envelope_cache_hits": 0,
"congestion_net_envelope_cache_misses": 0,
"congestion_presence_cache_hits": 0,
"congestion_presence_cache_misses": 0,
"congestion_presence_skips": 0,
"danger_map_cache_hits": 0,
"danger_map_cache_misses": 0,
"danger_map_lookup_calls": 0,
"danger_map_query_calls": 0,
"danger_map_total_ns": 207556,
"danger_map_total_ns": 0,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 14,
"dynamic_path_objects_removed": 7,
"dynamic_tree_rebuilds": 4,
"dynamic_path_objects_added": 21,
"dynamic_path_objects_removed": 14,
"dynamic_tree_rebuilds": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
"iteration_reverified_nets": 2,
"iteration_reverify_calls": 1,
"move_cache_abs_hits": 1,
"move_cache_abs_misses": 122,
"move_cache_rel_hits": 80,
"move_cache_rel_misses": 42,
"moves_added": 65,
"moves_generated": 123,
"nets_carried_forward": 0,
"nets_reached_target": 2,
"nets_routed": 2,
"nodes_expanded": 15,
@ -263,16 +353,16 @@
"pruned_closed_set": 2,
"pruned_cost": 25,
"pruned_hard_collision": 16,
"ray_cast_calls": 18218,
"ray_cast_calls": 70,
"ray_cast_calls_expand_forward": 13,
"ray_cast_calls_expand_snap": 1,
"ray_cast_calls_other": 0,
"ray_cast_calls_straight_static": 56,
"ray_cast_calls_visibility_build": 18148,
"ray_cast_calls_visibility_build": 0,
"ray_cast_calls_visibility_query": 0,
"ray_cast_calls_visibility_tangent": 0,
"ray_cast_candidate_bounds": 50717,
"ray_cast_exact_geometry_checks": 21265,
"ray_cast_candidate_bounds": 4,
"ray_cast_exact_geometry_checks": 0,
"refine_path_calls": 2,
"refinement_candidate_side_extents": 0,
"refinement_candidates_accepted": 0,
@ -283,23 +373,25 @@
"refinement_windows_considered": 0,
"route_iterations": 1,
"score_component_calls": 90,
"score_component_total_ns": 410130,
"score_component_total_ns": 97738,
"static_net_tree_rebuilds": 2,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 1,
"static_tree_rebuilds": 2,
"static_tree_rebuilds": 1,
"timeout_events": 0,
"verify_dynamic_candidate_nets": 6,
"verify_dynamic_exact_pair_checks": 0,
"verify_path_report_calls": 6,
"verify_static_buffer_ops": 0,
"visibility_builds": 3,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
"visibility_corner_pairs_checked": 18148,
"visibility_corner_index_builds": 2,
"visibility_corner_pairs_checked": 0,
"visibility_corner_queries_exact": 0,
"visibility_point_cache_hits": 0,
"visibility_point_cache_misses": 0,
"visibility_point_queries": 0,
"visibility_tangent_candidate_corner_checks": 394,
"visibility_tangent_candidate_corner_checks": 50,
"visibility_tangent_candidate_ray_tests": 0,
"visibility_tangent_candidate_scans": 13,
"warm_start_paths_built": 2,
@ -311,28 +403,49 @@
"valid_results": 2
},
{
"duration_s": 0.24581307696644217,
"duration_s": 0.23484283208381385,
"metrics": {
"congestion_cache_hits": 2,
"congestion_cache_misses": 412,
"congestion_check_calls": 412,
"congestion_exact_pair_checks": 66,
"danger_map_cache_hits": 1386,
"danger_map_cache_misses": 693,
"danger_map_lookup_calls": 2079,
"congestion_cache_misses": 155,
"congestion_candidate_ids": 19,
"congestion_candidate_nets": 15,
"congestion_candidate_precheck_hits": 135,
"congestion_candidate_precheck_misses": 22,
"congestion_candidate_precheck_skips": 0,
"congestion_check_calls": 155,
"congestion_exact_pair_checks": 18,
"congestion_grid_net_cache_hits": 12,
"congestion_grid_net_cache_misses": 25,
"congestion_grid_span_cache_hits": 11,
"congestion_grid_span_cache_misses": 4,
"congestion_lazy_requeues": 0,
"congestion_lazy_resolutions": 0,
"congestion_net_envelope_cache_hits": 134,
"congestion_net_envelope_cache_misses": 43,
"congestion_presence_cache_hits": 185,
"congestion_presence_cache_misses": 30,
"congestion_presence_skips": 58,
"danger_map_cache_hits": 0,
"danger_map_cache_misses": 0,
"danger_map_lookup_calls": 0,
"danger_map_query_calls": 0,
"danger_map_total_ns": 1805113,
"dynamic_grid_rebuilds": 3,
"dynamic_path_objects_added": 37,
"dynamic_path_objects_removed": 25,
"dynamic_tree_rebuilds": 12,
"danger_map_total_ns": 0,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 49,
"dynamic_path_objects_removed": 37,
"dynamic_tree_rebuilds": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 1,
"iteration_conflicting_nets": 2,
"iteration_reverified_nets": 6,
"iteration_reverify_calls": 2,
"move_cache_abs_hits": 253,
"move_cache_abs_misses": 1371,
"move_cache_rel_hits": 1269,
"move_cache_rel_misses": 102,
"moves_added": 681,
"moves_generated": 1624,
"nets_carried_forward": 0,
"nets_reached_target": 6,
"nets_routed": 6,
"nodes_expanded": 286,
@ -360,23 +473,25 @@
"refinement_windows_considered": 0,
"route_iterations": 2,
"score_component_calls": 1198,
"score_component_total_ns": 4292875,
"score_component_total_ns": 1194981,
"static_net_tree_rebuilds": 3,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 3,
"static_tree_rebuilds": 1,
"timeout_events": 0,
"verify_dynamic_exact_pair_checks": 2,
"verify_path_report_calls": 12,
"verify_dynamic_candidate_nets": 8,
"verify_dynamic_exact_pair_checks": 12,
"verify_path_report_calls": 15,
"verify_static_buffer_ops": 0,
"visibility_builds": 3,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
"visibility_corner_index_builds": 3,
"visibility_corner_pairs_checked": 0,
"visibility_corner_queries_exact": 0,
"visibility_point_cache_hits": 0,
"visibility_point_cache_misses": 0,
"visibility_point_queries": 0,
"visibility_tangent_candidate_corner_checks": 1483,
"visibility_tangent_candidate_corner_checks": 70,
"visibility_tangent_candidate_ray_tests": 9,
"visibility_tangent_candidate_scans": 280,
"warm_start_paths_built": 2,
@ -388,28 +503,49 @@
"valid_results": 3
},
{
"duration_s": 4.1186372829834,
"duration_s": 0.19533946400042623,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
"congestion_candidate_ids": 0,
"congestion_candidate_nets": 0,
"congestion_candidate_precheck_hits": 0,
"congestion_candidate_precheck_misses": 0,
"congestion_candidate_precheck_skips": 0,
"congestion_check_calls": 0,
"congestion_exact_pair_checks": 0,
"congestion_grid_net_cache_hits": 0,
"congestion_grid_net_cache_misses": 0,
"congestion_grid_span_cache_hits": 0,
"congestion_grid_span_cache_misses": 0,
"congestion_lazy_requeues": 0,
"congestion_lazy_resolutions": 0,
"congestion_net_envelope_cache_hits": 0,
"congestion_net_envelope_cache_misses": 0,
"congestion_presence_cache_hits": 0,
"congestion_presence_cache_misses": 0,
"congestion_presence_skips": 0,
"danger_map_cache_hits": 1183,
"danger_map_cache_misses": 731,
"danger_map_lookup_calls": 1914,
"danger_map_query_calls": 731,
"danger_map_total_ns": 18374289,
"danger_map_total_ns": 18697751,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 36,
"dynamic_path_objects_removed": 18,
"dynamic_tree_rebuilds": 6,
"dynamic_path_objects_added": 54,
"dynamic_path_objects_removed": 36,
"dynamic_tree_rebuilds": 0,
"hard_collision_cache_hits": 18,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
"iteration_reverified_nets": 3,
"iteration_reverify_calls": 3,
"move_cache_abs_hits": 186,
"move_cache_abs_misses": 840,
"move_cache_rel_hits": 702,
"move_cache_rel_misses": 138,
"moves_added": 629,
"moves_generated": 1026,
"nets_carried_forward": 0,
"nets_reached_target": 3,
"nets_routed": 3,
"nodes_expanded": 240,
@ -417,16 +553,16 @@
"pruned_closed_set": 108,
"pruned_cost": 204,
"pruned_hard_collision": 85,
"ray_cast_calls": 40530,
"ray_cast_calls": 682,
"ray_cast_calls_expand_forward": 237,
"ray_cast_calls_expand_snap": 3,
"ray_cast_calls_other": 0,
"ray_cast_calls_straight_static": 408,
"ray_cast_calls_visibility_build": 39848,
"ray_cast_calls_visibility_build": 0,
"ray_cast_calls_visibility_query": 0,
"ray_cast_calls_visibility_tangent": 34,
"ray_cast_candidate_bounds": 121732,
"ray_cast_exact_geometry_checks": 36858,
"ray_cast_candidate_bounds": 97,
"ray_cast_exact_geometry_checks": 0,
"refine_path_calls": 3,
"refinement_candidate_side_extents": 0,
"refinement_candidates_accepted": 0,
@ -437,23 +573,25 @@
"refinement_windows_considered": 0,
"route_iterations": 3,
"score_component_calls": 842,
"score_component_total_ns": 20652599,
"score_component_total_ns": 21016472,
"static_net_tree_rebuilds": 3,
"static_raw_tree_rebuilds": 3,
"static_safe_cache_hits": 141,
"static_tree_rebuilds": 6,
"static_tree_rebuilds": 3,
"timeout_events": 0,
"verify_dynamic_candidate_nets": 0,
"verify_dynamic_exact_pair_checks": 0,
"verify_path_report_calls": 9,
"verify_static_buffer_ops": 54,
"visibility_builds": 6,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
"visibility_corner_pairs_checked": 39848,
"visibility_corner_index_builds": 3,
"visibility_corner_pairs_checked": 0,
"visibility_corner_queries_exact": 0,
"visibility_point_cache_hits": 0,
"visibility_point_cache_misses": 0,
"visibility_point_queries": 0,
"visibility_tangent_candidate_corner_checks": 2400,
"visibility_tangent_candidate_corner_checks": 84,
"visibility_tangent_candidate_ray_tests": 34,
"visibility_tangent_candidate_scans": 237,
"warm_start_paths_built": 3,
@ -465,28 +603,49 @@
"valid_results": 3
},
{
"duration_s": 1.373430646955967,
"duration_s": 0.19448363897390664,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
"congestion_candidate_ids": 0,
"congestion_candidate_nets": 0,
"congestion_candidate_precheck_hits": 0,
"congestion_candidate_precheck_misses": 0,
"congestion_candidate_precheck_skips": 0,
"congestion_check_calls": 0,
"congestion_exact_pair_checks": 0,
"congestion_grid_net_cache_hits": 0,
"congestion_grid_net_cache_misses": 0,
"congestion_grid_span_cache_hits": 0,
"congestion_grid_span_cache_misses": 0,
"congestion_lazy_requeues": 0,
"congestion_lazy_resolutions": 0,
"congestion_net_envelope_cache_hits": 0,
"congestion_net_envelope_cache_misses": 0,
"congestion_presence_cache_hits": 0,
"congestion_presence_cache_misses": 0,
"congestion_presence_skips": 0,
"danger_map_cache_hits": 233,
"danger_map_cache_misses": 448,
"danger_map_lookup_calls": 681,
"danger_map_query_calls": 448,
"danger_map_total_ns": 10728422,
"danger_map_total_ns": 10973251,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 88,
"dynamic_path_objects_removed": 44,
"dynamic_tree_rebuilds": 20,
"dynamic_path_objects_added": 132,
"dynamic_path_objects_removed": 88,
"dynamic_tree_rebuilds": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
"iteration_reverified_nets": 10,
"iteration_reverify_calls": 1,
"move_cache_abs_hits": 6,
"move_cache_abs_misses": 366,
"move_cache_rel_hits": 275,
"move_cache_rel_misses": 91,
"moves_added": 227,
"moves_generated": 372,
"nets_carried_forward": 0,
"nets_reached_target": 10,
"nets_routed": 10,
"nodes_expanded": 78,
@ -494,16 +653,16 @@
"pruned_closed_set": 20,
"pruned_cost": 64,
"pruned_hard_collision": 61,
"ray_cast_calls": 11151,
"ray_cast_calls": 383,
"ray_cast_calls_expand_forward": 68,
"ray_cast_calls_expand_snap": 6,
"ray_cast_calls_other": 0,
"ray_cast_calls_straight_static": 232,
"ray_cast_calls_visibility_build": 10768,
"ray_cast_calls_visibility_build": 0,
"ray_cast_calls_visibility_query": 0,
"ray_cast_calls_visibility_tangent": 77,
"ray_cast_candidate_bounds": 21198,
"ray_cast_exact_geometry_checks": 11651,
"ray_cast_candidate_bounds": 683,
"ray_cast_exact_geometry_checks": 150,
"refine_path_calls": 10,
"refinement_candidate_side_extents": 0,
"refinement_candidates_accepted": 0,
@ -514,23 +673,25 @@
"refinement_windows_considered": 0,
"route_iterations": 1,
"score_component_calls": 291,
"score_component_total_ns": 11574800,
"score_component_total_ns": 11824081,
"static_net_tree_rebuilds": 10,
"static_raw_tree_rebuilds": 1,
"static_safe_cache_hits": 6,
"static_tree_rebuilds": 10,
"timeout_events": 0,
"verify_dynamic_exact_pair_checks": 0,
"verify_dynamic_candidate_nets": 264,
"verify_dynamic_exact_pair_checks": 40,
"verify_path_report_calls": 30,
"verify_static_buffer_ops": 132,
"visibility_builds": 11,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
"visibility_corner_pairs_checked": 10768,
"visibility_corner_index_builds": 10,
"visibility_corner_pairs_checked": 0,
"visibility_corner_queries_exact": 0,
"visibility_point_cache_hits": 0,
"visibility_point_cache_misses": 0,
"visibility_point_queries": 0,
"visibility_tangent_candidate_corner_checks": 34735,
"visibility_tangent_candidate_corner_checks": 321,
"visibility_tangent_candidate_ray_tests": 77,
"visibility_tangent_candidate_scans": 68,
"warm_start_paths_built": 10,
@ -542,28 +703,49 @@
"valid_results": 10
},
{
"duration_s": 0.2410298540489748,
"duration_s": 0.017700672964565456,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
"congestion_candidate_ids": 0,
"congestion_candidate_nets": 0,
"congestion_candidate_precheck_hits": 0,
"congestion_candidate_precheck_misses": 0,
"congestion_candidate_precheck_skips": 0,
"congestion_check_calls": 0,
"congestion_exact_pair_checks": 0,
"danger_map_cache_hits": 58,
"danger_map_cache_misses": 110,
"danger_map_lookup_calls": 168,
"congestion_grid_net_cache_hits": 0,
"congestion_grid_net_cache_misses": 0,
"congestion_grid_span_cache_hits": 0,
"congestion_grid_span_cache_misses": 0,
"congestion_lazy_requeues": 0,
"congestion_lazy_resolutions": 0,
"congestion_net_envelope_cache_hits": 0,
"congestion_net_envelope_cache_misses": 0,
"congestion_presence_cache_hits": 0,
"congestion_presence_cache_misses": 0,
"congestion_presence_skips": 0,
"danger_map_cache_hits": 0,
"danger_map_cache_misses": 0,
"danger_map_lookup_calls": 0,
"danger_map_query_calls": 0,
"danger_map_total_ns": 178104,
"danger_map_total_ns": 0,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 12,
"dynamic_path_objects_removed": 6,
"dynamic_tree_rebuilds": 4,
"dynamic_path_objects_added": 18,
"dynamic_path_objects_removed": 12,
"dynamic_tree_rebuilds": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
"iteration_reverified_nets": 2,
"iteration_reverify_calls": 2,
"move_cache_abs_hits": 2,
"move_cache_abs_misses": 76,
"move_cache_rel_hits": 32,
"move_cache_rel_misses": 44,
"moves_added": 56,
"moves_generated": 78,
"nets_carried_forward": 0,
"nets_reached_target": 2,
"nets_routed": 2,
"nodes_expanded": 18,
@ -571,16 +753,16 @@
"pruned_closed_set": 6,
"pruned_cost": 16,
"pruned_hard_collision": 0,
"ray_cast_calls": 2308,
"ray_cast_calls": 56,
"ray_cast_calls_expand_forward": 16,
"ray_cast_calls_expand_snap": 2,
"ray_cast_calls_other": 0,
"ray_cast_calls_straight_static": 38,
"ray_cast_calls_visibility_build": 2252,
"ray_cast_calls_visibility_build": 0,
"ray_cast_calls_visibility_query": 0,
"ray_cast_calls_visibility_tangent": 0,
"ray_cast_candidate_bounds": 3802,
"ray_cast_exact_geometry_checks": 1904,
"ray_cast_candidate_bounds": 0,
"ray_cast_exact_geometry_checks": 0,
"refine_path_calls": 2,
"refinement_candidate_side_extents": 0,
"refinement_candidates_accepted": 0,
@ -591,18 +773,20 @@
"refinement_windows_considered": 0,
"route_iterations": 2,
"score_component_calls": 72,
"score_component_total_ns": 352865,
"score_component_total_ns": 85969,
"static_net_tree_rebuilds": 2,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 2,
"static_tree_rebuilds": 2,
"static_tree_rebuilds": 0,
"timeout_events": 0,
"verify_dynamic_candidate_nets": 0,
"verify_dynamic_exact_pair_checks": 0,
"verify_path_report_calls": 6,
"verify_static_buffer_ops": 0,
"visibility_builds": 4,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
"visibility_corner_pairs_checked": 2252,
"visibility_corner_index_builds": 2,
"visibility_corner_pairs_checked": 0,
"visibility_corner_queries_exact": 0,
"visibility_point_cache_hits": 0,
"visibility_point_cache_misses": 0,
@ -619,28 +803,49 @@
"valid_results": 2
},
{
"duration_s": 0.0052388140466064215,
"duration_s": 0.005781985004432499,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
"congestion_candidate_ids": 0,
"congestion_candidate_nets": 0,
"congestion_candidate_precheck_hits": 0,
"congestion_candidate_precheck_misses": 0,
"congestion_candidate_precheck_skips": 0,
"congestion_check_calls": 0,
"congestion_exact_pair_checks": 0,
"congestion_grid_net_cache_hits": 0,
"congestion_grid_net_cache_misses": 0,
"congestion_grid_span_cache_hits": 0,
"congestion_grid_span_cache_misses": 0,
"congestion_lazy_requeues": 0,
"congestion_lazy_resolutions": 0,
"congestion_net_envelope_cache_hits": 0,
"congestion_net_envelope_cache_misses": 0,
"congestion_presence_cache_hits": 0,
"congestion_presence_cache_misses": 0,
"congestion_presence_skips": 0,
"danger_map_cache_hits": 10,
"danger_map_cache_misses": 20,
"danger_map_lookup_calls": 30,
"danger_map_query_calls": 20,
"danger_map_total_ns": 502052,
"danger_map_total_ns": 536009,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 1,
"dynamic_path_objects_removed": 0,
"dynamic_tree_rebuilds": 1,
"dynamic_path_objects_added": 2,
"dynamic_path_objects_removed": 1,
"dynamic_tree_rebuilds": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
"iteration_reverified_nets": 0,
"iteration_reverify_calls": 1,
"move_cache_abs_hits": 0,
"move_cache_abs_misses": 16,
"move_cache_rel_hits": 2,
"move_cache_rel_misses": 14,
"moves_added": 10,
"moves_generated": 16,
"nets_carried_forward": 0,
"nets_reached_target": 0,
"nets_routed": 1,
"nodes_expanded": 3,
@ -668,23 +873,25 @@
"refinement_windows_considered": 0,
"route_iterations": 1,
"score_component_calls": 14,
"score_component_total_ns": 538947,
"score_component_total_ns": 574907,
"static_net_tree_rebuilds": 1,
"static_raw_tree_rebuilds": 1,
"static_safe_cache_hits": 0,
"static_tree_rebuilds": 0,
"static_tree_rebuilds": 1,
"timeout_events": 0,
"verify_dynamic_candidate_nets": 0,
"verify_dynamic_exact_pair_checks": 0,
"verify_path_report_calls": 1,
"verify_static_buffer_ops": 1,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
"visibility_corner_index_builds": 1,
"visibility_corner_pairs_checked": 0,
"visibility_corner_queries_exact": 0,
"visibility_point_cache_hits": 0,
"visibility_point_cache_misses": 0,
"visibility_point_queries": 0,
"visibility_tangent_candidate_corner_checks": 10,
"visibility_tangent_candidate_corner_checks": 0,
"visibility_tangent_candidate_ray_tests": 0,
"visibility_tangent_candidate_scans": 3,
"warm_start_paths_built": 0,