Limit late reroutes to conflicting nets

This commit is contained in:
Jan Petykiewicz 2026-04-02 17:10:00 -07:00
commit 2c3aa90544
9 changed files with 377 additions and 1003 deletions

View file

@ -3,7 +3,7 @@
"generator": "scripts/record_performance_baseline.py",
"scenarios": [
{
"duration_s": 0.003964120987802744,
"duration_s": 0.003825429128482938,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -85,7 +85,7 @@
"refinement_windows_considered": 0,
"route_iterations": 1,
"score_component_calls": 11,
"score_component_total_ns": 18064,
"score_component_total_ns": 16571,
"static_net_tree_rebuilds": 1,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 1,
@ -115,7 +115,7 @@
"valid_results": 1
},
{
"duration_s": 0.3377689190674573,
"duration_s": 0.36141274496912956,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -197,7 +197,7 @@
"refinement_windows_considered": 10,
"route_iterations": 1,
"score_component_calls": 976,
"score_component_total_ns": 1140704,
"score_component_total_ns": 1143187,
"static_net_tree_rebuilds": 3,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 1,
@ -227,7 +227,7 @@
"valid_results": 3
},
{
"duration_s": 0.1929313091095537,
"duration_s": 0.19532882701605558,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -309,7 +309,7 @@
"refinement_windows_considered": 2,
"route_iterations": 2,
"score_component_calls": 504,
"score_component_total_ns": 565410,
"score_component_total_ns": 565663,
"static_net_tree_rebuilds": 2,
"static_raw_tree_rebuilds": 1,
"static_safe_cache_hits": 1,
@ -339,7 +339,7 @@
"valid_results": 2
},
{
"duration_s": 0.02791503700427711,
"duration_s": 0.027705274987965822,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -421,7 +421,7 @@
"refinement_windows_considered": 0,
"route_iterations": 1,
"score_component_calls": 90,
"score_component_total_ns": 100083,
"score_component_total_ns": 96756,
"static_net_tree_rebuilds": 2,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 1,
@ -451,73 +451,73 @@
"valid_results": 2
},
{
"duration_s": 0.23665715800598264,
"duration_s": 0.25367443496361375,
"metrics": {
"congestion_cache_hits": 4,
"congestion_cache_misses": 149,
"congestion_cache_hits": 3,
"congestion_cache_misses": 146,
"congestion_candidate_ids": 32,
"congestion_candidate_nets": 23,
"congestion_candidate_precheck_hits": 131,
"congestion_candidate_precheck_misses": 22,
"congestion_candidate_precheck_hits": 129,
"congestion_candidate_precheck_misses": 20,
"congestion_candidate_precheck_skips": 0,
"congestion_check_calls": 149,
"congestion_check_calls": 146,
"congestion_exact_pair_checks": 30,
"congestion_grid_net_cache_hits": 16,
"congestion_grid_net_cache_misses": 28,
"congestion_grid_net_cache_misses": 26,
"congestion_grid_span_cache_hits": 15,
"congestion_grid_span_cache_misses": 7,
"congestion_lazy_requeues": 0,
"congestion_lazy_resolutions": 0,
"congestion_net_envelope_cache_hits": 128,
"congestion_net_envelope_cache_misses": 43,
"congestion_presence_cache_hits": 200,
"congestion_presence_cache_misses": 30,
"congestion_presence_skips": 77,
"congestion_net_envelope_cache_hits": 127,
"congestion_net_envelope_cache_misses": 39,
"congestion_presence_cache_hits": 196,
"congestion_presence_cache_misses": 27,
"congestion_presence_skips": 74,
"danger_map_cache_hits": 0,
"danger_map_cache_misses": 0,
"danger_map_lookup_calls": 0,
"danger_map_query_calls": 0,
"danger_map_total_ns": 0,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 49,
"dynamic_path_objects_removed": 37,
"dynamic_path_objects_added": 48,
"dynamic_path_objects_removed": 36,
"dynamic_tree_rebuilds": 0,
"guidance_bonus_applied": 687.5,
"guidance_bonus_applied": 562.5,
"guidance_bonus_applied_bend90": 500.0,
"guidance_bonus_applied_sbend": 0.0,
"guidance_bonus_applied_straight": 187.5,
"guidance_match_moves": 11,
"guidance_bonus_applied_straight": 62.5,
"guidance_match_moves": 9,
"guidance_match_moves_bend90": 8,
"guidance_match_moves_sbend": 0,
"guidance_match_moves_straight": 3,
"guidance_match_moves_straight": 1,
"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": 385,
"move_cache_abs_hits": 374,
"move_cache_abs_misses": 1306,
"move_cache_rel_hits": 1204,
"move_cache_rel_misses": 102,
"moves_added": 696,
"moves_generated": 1691,
"nets_carried_forward": 0,
"nets_reached_target": 6,
"nets_routed": 6,
"nodes_expanded": 299,
"moves_added": 689,
"moves_generated": 1680,
"nets_carried_forward": 1,
"nets_reached_target": 5,
"nets_routed": 5,
"nodes_expanded": 297,
"pair_local_search_accepts": 0,
"pair_local_search_attempts": 0,
"pair_local_search_nodes_expanded": 0,
"pair_local_search_pairs_considered": 0,
"path_cost_calls": 2,
"pruned_closed_set": 159,
"pruned_cost": 537,
"pruned_cost": 533,
"pruned_hard_collision": 14,
"ray_cast_calls": 1284,
"ray_cast_calls_expand_forward": 293,
"ray_cast_calls_expand_snap": 3,
"ray_cast_calls": 1274,
"ray_cast_calls_expand_forward": 292,
"ray_cast_calls_expand_snap": 2,
"ray_cast_calls_other": 0,
"ray_cast_calls_straight_static": 979,
"ray_cast_calls_straight_static": 971,
"ray_cast_calls_visibility_build": 0,
"ray_cast_calls_visibility_query": 0,
"ray_cast_calls_visibility_tangent": 9,
@ -532,16 +532,16 @@
"refinement_static_bounds_checked": 0,
"refinement_windows_considered": 0,
"route_iterations": 2,
"score_component_calls": 1245,
"score_component_total_ns": 1260961,
"score_component_calls": 1234,
"score_component_total_ns": 1311211,
"static_net_tree_rebuilds": 3,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 9,
"static_safe_cache_hits": 8,
"static_tree_rebuilds": 1,
"timeout_events": 0,
"verify_dynamic_candidate_nets": 8,
"verify_dynamic_exact_pair_checks": 12,
"verify_path_report_calls": 18,
"verify_path_report_calls": 17,
"verify_static_buffer_ops": 0,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
@ -553,7 +553,7 @@
"visibility_point_queries": 0,
"visibility_tangent_candidate_corner_checks": 70,
"visibility_tangent_candidate_ray_tests": 9,
"visibility_tangent_candidate_scans": 293,
"visibility_tangent_candidate_scans": 292,
"warm_start_paths_built": 2,
"warm_start_paths_used": 2
},
@ -563,7 +563,7 @@
"valid_results": 3
},
{
"duration_s": 0.19982667709700763,
"duration_s": 0.21031348290853202,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -589,7 +589,7 @@
"danger_map_cache_misses": 731,
"danger_map_lookup_calls": 1914,
"danger_map_query_calls": 731,
"danger_map_total_ns": 18959782,
"danger_map_total_ns": 19983976,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 54,
"dynamic_path_objects_removed": 36,
@ -645,7 +645,7 @@
"refinement_windows_considered": 0,
"route_iterations": 3,
"score_component_calls": 842,
"score_component_total_ns": 21338709,
"score_component_total_ns": 22474166,
"static_net_tree_rebuilds": 3,
"static_raw_tree_rebuilds": 3,
"static_safe_cache_hits": 141,
@ -675,7 +675,7 @@
"valid_results": 3
},
{
"duration_s": 0.20046633295714855,
"duration_s": 0.20740868314169347,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -701,7 +701,7 @@
"danger_map_cache_misses": 448,
"danger_map_lookup_calls": 681,
"danger_map_query_calls": 448,
"danger_map_total_ns": 11017087,
"danger_map_total_ns": 11224403,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 132,
"dynamic_path_objects_removed": 88,
@ -757,7 +757,7 @@
"refinement_windows_considered": 0,
"route_iterations": 1,
"score_component_calls": 291,
"score_component_total_ns": 11869917,
"score_component_total_ns": 12117666,
"static_net_tree_rebuilds": 10,
"static_raw_tree_rebuilds": 1,
"static_safe_cache_hits": 6,
@ -787,7 +787,7 @@
"valid_results": 10
},
{
"duration_s": 0.01759456400759518,
"duration_s": 0.018604618962854147,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -869,7 +869,7 @@
"refinement_windows_considered": 0,
"route_iterations": 2,
"score_component_calls": 72,
"score_component_total_ns": 85864,
"score_component_total_ns": 87655,
"static_net_tree_rebuilds": 2,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 2,
@ -899,7 +899,7 @@
"valid_results": 2
},
{
"duration_s": 0.005838233977556229,
"duration_s": 0.00794802000746131,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -925,7 +925,7 @@
"danger_map_cache_misses": 20,
"danger_map_lookup_calls": 30,
"danger_map_query_calls": 20,
"danger_map_total_ns": 523870,
"danger_map_total_ns": 675454,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 2,
"dynamic_path_objects_removed": 1,
@ -981,7 +981,7 @@
"refinement_windows_considered": 0,
"route_iterations": 1,
"score_component_calls": 14,
"score_component_total_ns": 563611,
"score_component_total_ns": 722637,
"static_net_tree_rebuilds": 1,
"static_raw_tree_rebuilds": 1,
"static_safe_cache_hits": 0,