Add conflict tracing and pair-local repair

This commit is contained in:
Jan Petykiewicz 2026-04-02 14:39:39 -07:00
commit 42e46c67e0
27 changed files with 6981 additions and 142 deletions

View file

@ -1,9 +1,9 @@
{
"generated_on": "2026-04-01",
"generated_on": "2026-04-02",
"generator": "scripts/record_performance_baseline.py",
"scenarios": [
{
"duration_s": 0.0035884700482711196,
"duration_s": 0.003964120987802744,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -34,6 +34,14 @@
"dynamic_path_objects_added": 3,
"dynamic_path_objects_removed": 2,
"dynamic_tree_rebuilds": 0,
"guidance_bonus_applied": 0.0,
"guidance_bonus_applied_bend90": 0.0,
"guidance_bonus_applied_sbend": 0.0,
"guidance_bonus_applied_straight": 0.0,
"guidance_match_moves": 0,
"guidance_match_moves_bend90": 0,
"guidance_match_moves_sbend": 0,
"guidance_match_moves_straight": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
@ -49,6 +57,10 @@
"nets_reached_target": 1,
"nets_routed": 1,
"nodes_expanded": 2,
"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": 0,
"pruned_closed_set": 0,
"pruned_cost": 4,
@ -73,7 +85,7 @@
"refinement_windows_considered": 0,
"route_iterations": 1,
"score_component_calls": 11,
"score_component_total_ns": 16010,
"score_component_total_ns": 18064,
"static_net_tree_rebuilds": 1,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 1,
@ -81,7 +93,7 @@
"timeout_events": 0,
"verify_dynamic_candidate_nets": 0,
"verify_dynamic_exact_pair_checks": 0,
"verify_path_report_calls": 3,
"verify_path_report_calls": 4,
"verify_static_buffer_ops": 0,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
@ -103,7 +115,7 @@
"valid_results": 1
},
{
"duration_s": 0.32969290704932064,
"duration_s": 0.3377689190674573,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -134,6 +146,14 @@
"dynamic_path_objects_added": 49,
"dynamic_path_objects_removed": 34,
"dynamic_tree_rebuilds": 0,
"guidance_bonus_applied": 0.0,
"guidance_bonus_applied_bend90": 0.0,
"guidance_bonus_applied_sbend": 0.0,
"guidance_bonus_applied_straight": 0.0,
"guidance_match_moves": 0,
"guidance_match_moves_bend90": 0,
"guidance_match_moves_sbend": 0,
"guidance_match_moves_straight": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
@ -149,6 +169,10 @@
"nets_reached_target": 3,
"nets_routed": 3,
"nodes_expanded": 366,
"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": 14,
"pruned_closed_set": 157,
"pruned_cost": 208,
@ -173,15 +197,15 @@
"refinement_windows_considered": 10,
"route_iterations": 1,
"score_component_calls": 976,
"score_component_total_ns": 1091130,
"score_component_total_ns": 1140704,
"static_net_tree_rebuilds": 3,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 1,
"static_tree_rebuilds": 2,
"timeout_events": 0,
"verify_dynamic_candidate_nets": 84,
"verify_dynamic_exact_pair_checks": 82,
"verify_path_report_calls": 35,
"verify_dynamic_candidate_nets": 88,
"verify_dynamic_exact_pair_checks": 86,
"verify_path_report_calls": 38,
"verify_static_buffer_ops": 0,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
@ -203,7 +227,7 @@
"valid_results": 3
},
{
"duration_s": 0.18321374501101673,
"duration_s": 0.1929313091095537,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -234,6 +258,14 @@
"dynamic_path_objects_added": 27,
"dynamic_path_objects_removed": 20,
"dynamic_tree_rebuilds": 0,
"guidance_bonus_applied": 0.0,
"guidance_bonus_applied_bend90": 0.0,
"guidance_bonus_applied_sbend": 0.0,
"guidance_bonus_applied_straight": 0.0,
"guidance_match_moves": 0,
"guidance_match_moves_bend90": 0,
"guidance_match_moves_sbend": 0,
"guidance_match_moves_straight": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
@ -249,6 +281,10 @@
"nets_reached_target": 2,
"nets_routed": 2,
"nodes_expanded": 191,
"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": 9,
"pruned_closed_set": 97,
"pruned_cost": 140,
@ -273,16 +309,16 @@
"refinement_windows_considered": 2,
"route_iterations": 2,
"score_component_calls": 504,
"score_component_total_ns": 556716,
"score_component_total_ns": 565410,
"static_net_tree_rebuilds": 2,
"static_raw_tree_rebuilds": 1,
"static_safe_cache_hits": 1,
"static_tree_rebuilds": 1,
"timeout_events": 0,
"verify_dynamic_candidate_nets": 8,
"verify_dynamic_exact_pair_checks": 8,
"verify_path_report_calls": 14,
"verify_static_buffer_ops": 72,
"verify_dynamic_candidate_nets": 9,
"verify_dynamic_exact_pair_checks": 9,
"verify_path_report_calls": 16,
"verify_static_buffer_ops": 81,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
"visibility_corner_index_builds": 2,
@ -303,7 +339,7 @@
"valid_results": 2
},
{
"duration_s": 0.026024609920568764,
"duration_s": 0.02791503700427711,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -334,6 +370,14 @@
"dynamic_path_objects_added": 21,
"dynamic_path_objects_removed": 14,
"dynamic_tree_rebuilds": 0,
"guidance_bonus_applied": 0.0,
"guidance_bonus_applied_bend90": 0.0,
"guidance_bonus_applied_sbend": 0.0,
"guidance_bonus_applied_straight": 0.0,
"guidance_match_moves": 0,
"guidance_match_moves_bend90": 0,
"guidance_match_moves_sbend": 0,
"guidance_match_moves_straight": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
@ -349,6 +393,10 @@
"nets_reached_target": 2,
"nets_routed": 2,
"nodes_expanded": 15,
"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": 0,
"pruned_closed_set": 2,
"pruned_cost": 25,
@ -373,15 +421,15 @@
"refinement_windows_considered": 0,
"route_iterations": 1,
"score_component_calls": 90,
"score_component_total_ns": 97738,
"score_component_total_ns": 100083,
"static_net_tree_rebuilds": 2,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 1,
"static_tree_rebuilds": 1,
"timeout_events": 0,
"verify_dynamic_candidate_nets": 6,
"verify_dynamic_candidate_nets": 9,
"verify_dynamic_exact_pair_checks": 0,
"verify_path_report_calls": 6,
"verify_path_report_calls": 8,
"verify_static_buffer_ops": 0,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
@ -403,28 +451,28 @@
"valid_results": 2
},
{
"duration_s": 0.23484283208381385,
"duration_s": 0.23665715800598264,
"metrics": {
"congestion_cache_hits": 2,
"congestion_cache_misses": 155,
"congestion_candidate_ids": 19,
"congestion_candidate_nets": 15,
"congestion_candidate_precheck_hits": 135,
"congestion_cache_hits": 4,
"congestion_cache_misses": 149,
"congestion_candidate_ids": 32,
"congestion_candidate_nets": 23,
"congestion_candidate_precheck_hits": 131,
"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_check_calls": 149,
"congestion_exact_pair_checks": 30,
"congestion_grid_net_cache_hits": 16,
"congestion_grid_net_cache_misses": 28,
"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": 134,
"congestion_net_envelope_cache_hits": 128,
"congestion_net_envelope_cache_misses": 43,
"congestion_presence_cache_hits": 185,
"congestion_presence_cache_hits": 200,
"congestion_presence_cache_misses": 30,
"congestion_presence_skips": 58,
"congestion_presence_skips": 77,
"danger_map_cache_hits": 0,
"danger_map_cache_misses": 0,
"danger_map_lookup_calls": 0,
@ -434,30 +482,42 @@
"dynamic_path_objects_added": 49,
"dynamic_path_objects_removed": 37,
"dynamic_tree_rebuilds": 0,
"guidance_bonus_applied": 687.5,
"guidance_bonus_applied_bend90": 500.0,
"guidance_bonus_applied_sbend": 0.0,
"guidance_bonus_applied_straight": 187.5,
"guidance_match_moves": 11,
"guidance_match_moves_bend90": 8,
"guidance_match_moves_sbend": 0,
"guidance_match_moves_straight": 3,
"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_abs_hits": 385,
"move_cache_abs_misses": 1306,
"move_cache_rel_hits": 1204,
"move_cache_rel_misses": 102,
"moves_added": 681,
"moves_generated": 1624,
"moves_added": 696,
"moves_generated": 1691,
"nets_carried_forward": 0,
"nets_reached_target": 6,
"nets_routed": 6,
"nodes_expanded": 286,
"nodes_expanded": 299,
"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": 139,
"pruned_cost": 505,
"pruned_closed_set": 159,
"pruned_cost": 537,
"pruned_hard_collision": 14,
"ray_cast_calls": 1243,
"ray_cast_calls_expand_forward": 280,
"ray_cast_calls": 1284,
"ray_cast_calls_expand_forward": 293,
"ray_cast_calls_expand_snap": 3,
"ray_cast_calls_other": 0,
"ray_cast_calls_straight_static": 951,
"ray_cast_calls_straight_static": 979,
"ray_cast_calls_visibility_build": 0,
"ray_cast_calls_visibility_query": 0,
"ray_cast_calls_visibility_tangent": 9,
@ -472,16 +532,16 @@
"refinement_static_bounds_checked": 0,
"refinement_windows_considered": 0,
"route_iterations": 2,
"score_component_calls": 1198,
"score_component_total_ns": 1194981,
"score_component_calls": 1245,
"score_component_total_ns": 1260961,
"static_net_tree_rebuilds": 3,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 3,
"static_safe_cache_hits": 9,
"static_tree_rebuilds": 1,
"timeout_events": 0,
"verify_dynamic_candidate_nets": 8,
"verify_dynamic_exact_pair_checks": 12,
"verify_path_report_calls": 15,
"verify_path_report_calls": 18,
"verify_static_buffer_ops": 0,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
@ -493,7 +553,7 @@
"visibility_point_queries": 0,
"visibility_tangent_candidate_corner_checks": 70,
"visibility_tangent_candidate_ray_tests": 9,
"visibility_tangent_candidate_scans": 280,
"visibility_tangent_candidate_scans": 293,
"warm_start_paths_built": 2,
"warm_start_paths_used": 2
},
@ -503,7 +563,7 @@
"valid_results": 3
},
{
"duration_s": 0.19533946400042623,
"duration_s": 0.19982667709700763,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -529,11 +589,19 @@
"danger_map_cache_misses": 731,
"danger_map_lookup_calls": 1914,
"danger_map_query_calls": 731,
"danger_map_total_ns": 18697751,
"danger_map_total_ns": 18959782,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 54,
"dynamic_path_objects_removed": 36,
"dynamic_tree_rebuilds": 0,
"guidance_bonus_applied": 0.0,
"guidance_bonus_applied_bend90": 0.0,
"guidance_bonus_applied_sbend": 0.0,
"guidance_bonus_applied_straight": 0.0,
"guidance_match_moves": 0,
"guidance_match_moves_bend90": 0,
"guidance_match_moves_sbend": 0,
"guidance_match_moves_straight": 0,
"hard_collision_cache_hits": 18,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
@ -549,6 +617,10 @@
"nets_reached_target": 3,
"nets_routed": 3,
"nodes_expanded": 240,
"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": 0,
"pruned_closed_set": 108,
"pruned_cost": 204,
@ -573,7 +645,7 @@
"refinement_windows_considered": 0,
"route_iterations": 3,
"score_component_calls": 842,
"score_component_total_ns": 21016472,
"score_component_total_ns": 21338709,
"static_net_tree_rebuilds": 3,
"static_raw_tree_rebuilds": 3,
"static_safe_cache_hits": 141,
@ -581,8 +653,8 @@
"timeout_events": 0,
"verify_dynamic_candidate_nets": 0,
"verify_dynamic_exact_pair_checks": 0,
"verify_path_report_calls": 9,
"verify_static_buffer_ops": 54,
"verify_path_report_calls": 12,
"verify_static_buffer_ops": 72,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
"visibility_corner_index_builds": 3,
@ -603,7 +675,7 @@
"valid_results": 3
},
{
"duration_s": 0.19448363897390664,
"duration_s": 0.20046633295714855,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -629,11 +701,19 @@
"danger_map_cache_misses": 448,
"danger_map_lookup_calls": 681,
"danger_map_query_calls": 448,
"danger_map_total_ns": 10973251,
"danger_map_total_ns": 11017087,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 132,
"dynamic_path_objects_removed": 88,
"dynamic_tree_rebuilds": 0,
"guidance_bonus_applied": 0.0,
"guidance_bonus_applied_bend90": 0.0,
"guidance_bonus_applied_sbend": 0.0,
"guidance_bonus_applied_straight": 0.0,
"guidance_match_moves": 0,
"guidance_match_moves_bend90": 0,
"guidance_match_moves_sbend": 0,
"guidance_match_moves_straight": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
@ -649,6 +729,10 @@
"nets_reached_target": 10,
"nets_routed": 10,
"nodes_expanded": 78,
"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": 0,
"pruned_closed_set": 20,
"pruned_cost": 64,
@ -673,16 +757,16 @@
"refinement_windows_considered": 0,
"route_iterations": 1,
"score_component_calls": 291,
"score_component_total_ns": 11824081,
"score_component_total_ns": 11869917,
"static_net_tree_rebuilds": 10,
"static_raw_tree_rebuilds": 1,
"static_safe_cache_hits": 6,
"static_tree_rebuilds": 10,
"timeout_events": 0,
"verify_dynamic_candidate_nets": 264,
"verify_dynamic_exact_pair_checks": 40,
"verify_path_report_calls": 30,
"verify_static_buffer_ops": 132,
"verify_dynamic_candidate_nets": 370,
"verify_dynamic_exact_pair_checks": 56,
"verify_path_report_calls": 40,
"verify_static_buffer_ops": 176,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
"visibility_corner_index_builds": 10,
@ -703,7 +787,7 @@
"valid_results": 10
},
{
"duration_s": 0.017700672964565456,
"duration_s": 0.01759456400759518,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -734,6 +818,14 @@
"dynamic_path_objects_added": 18,
"dynamic_path_objects_removed": 12,
"dynamic_tree_rebuilds": 0,
"guidance_bonus_applied": 0.0,
"guidance_bonus_applied_bend90": 0.0,
"guidance_bonus_applied_sbend": 0.0,
"guidance_bonus_applied_straight": 0.0,
"guidance_match_moves": 0,
"guidance_match_moves_bend90": 0,
"guidance_match_moves_sbend": 0,
"guidance_match_moves_straight": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
@ -749,6 +841,10 @@
"nets_reached_target": 2,
"nets_routed": 2,
"nodes_expanded": 18,
"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": 0,
"pruned_closed_set": 6,
"pruned_cost": 16,
@ -773,7 +869,7 @@
"refinement_windows_considered": 0,
"route_iterations": 2,
"score_component_calls": 72,
"score_component_total_ns": 85969,
"score_component_total_ns": 85864,
"static_net_tree_rebuilds": 2,
"static_raw_tree_rebuilds": 0,
"static_safe_cache_hits": 2,
@ -781,7 +877,7 @@
"timeout_events": 0,
"verify_dynamic_candidate_nets": 0,
"verify_dynamic_exact_pair_checks": 0,
"verify_path_report_calls": 6,
"verify_path_report_calls": 8,
"verify_static_buffer_ops": 0,
"visibility_builds": 0,
"visibility_corner_hits_exact": 0,
@ -803,7 +899,7 @@
"valid_results": 2
},
{
"duration_s": 0.005781985004432499,
"duration_s": 0.005838233977556229,
"metrics": {
"congestion_cache_hits": 0,
"congestion_cache_misses": 0,
@ -829,11 +925,19 @@
"danger_map_cache_misses": 20,
"danger_map_lookup_calls": 30,
"danger_map_query_calls": 20,
"danger_map_total_ns": 536009,
"danger_map_total_ns": 523870,
"dynamic_grid_rebuilds": 0,
"dynamic_path_objects_added": 2,
"dynamic_path_objects_removed": 1,
"dynamic_tree_rebuilds": 0,
"guidance_bonus_applied": 0.0,
"guidance_bonus_applied_bend90": 0.0,
"guidance_bonus_applied_sbend": 0.0,
"guidance_bonus_applied_straight": 0.0,
"guidance_match_moves": 0,
"guidance_match_moves_bend90": 0,
"guidance_match_moves_sbend": 0,
"guidance_match_moves_straight": 0,
"hard_collision_cache_hits": 0,
"iteration_conflict_edges": 0,
"iteration_conflicting_nets": 0,
@ -849,6 +953,10 @@
"nets_reached_target": 0,
"nets_routed": 1,
"nodes_expanded": 3,
"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": 0,
"pruned_closed_set": 0,
"pruned_cost": 4,
@ -873,7 +981,7 @@
"refinement_windows_considered": 0,
"route_iterations": 1,
"score_component_calls": 14,
"score_component_total_ns": 574907,
"score_component_total_ns": 563611,
"static_net_tree_rebuilds": 1,
"static_raw_tree_rebuilds": 1,
"static_safe_cache_hits": 0,