[{"data":1,"prerenderedAt":111},["ShallowReactive",2],{"post:\u002Frouting-bench":3,"posts":107},{"id":4,"title":5,"authors":6,"body":9,"category":90,"cover":91,"coverAlt":92,"date":93,"description":94,"draft":95,"extension":96,"featured":95,"meta":97,"minutes":98,"navigation":99,"path":100,"searchDescription":101,"searchTitle":102,"seo":103,"stem":104,"updated":105,"__hash__":106},"posts\u002Frouting-bench.md","How we measure the router",[7],{"name":8},"Tomás Barak",{"type":10,"value":11,"toc":84},"minimark",[12,16,27,32,55,58,62,74,77],[13,14,15],"p",{},"A router can look good on the boards it was tuned on. So we judge ours on boards a person already routed by hand: the 105 real KiCad boards of PCBWorld-Bench's D3 set.",[13,17,18,19,26],{},"The routing bench routes each of them with a frozen, read-only copy of ",[20,21,25],"a",{"href":22,"rel":23},"https:\u002F\u002Fprovenboard.com",[24],"nofollow","Provenboard","’s engine, and records which commit and which changes it ran.",[28,29,31],"h2",{"id":30},"three-scores-per-board","Three scores per board",[33,34,35,43,49],"ul",{},[36,37,38,42],"li",{},[39,40,41],"strong",{},"Routed and clean."," Is everything connected, and does the copper pass the board's own design rules?",[36,44,45,48],{},[39,46,47],{},"Next to the paper."," The same boards routed by Freerouting, a reinforcement-learning router and an LLM agent, as the benchmark's paper reports them.",[36,50,51,54],{},[39,52,53],{},"Next to the person."," Detours, vias, hard corners, short jogs, pairs and pour islands, ours against the layout a person made of the same board.",[13,56,57],{},"The third score exists because a board can be routed and clean and still look like no experienced person routed it.",[28,59,61],{"id":60},"the-rules-it-keeps","The rules it keeps",[63,64,65,68,71],"ol",{},[36,66,67],{},"It never writes to the engine or to a project. Real projects are compared on snapshots.",[36,69,70],{},"The craft score is information, not a gate. A regression is a board that routes worse: an open connection, a failed clean pass, a run that fails.",[36,72,73],{},"Times are indicative. Runs share the machine with whatever else is running.",[13,75,76],{},"Every engine change that touches routing runs on the bench before it is committed, and the bench says board by board what changed.",[78,79,81],"note",{"label":80},"not done yet",[13,82,83],{},"The 9 hardest boards are prepared but not run. Runs are one attempt per board, where the paper reports the best of five. The bench itself runs on macOS; the engine it measures does not depend on any one system.",{"title":85,"searchDepth":86,"depth":86,"links":87},"",2,[88,89],{"id":30,"depth":86,"text":31},{"id":60,"depth":86,"text":61},"technical","\u002Fcovers\u002Fbench.svg","A grid of 105 small board outlines, nine of them dashed.","2026-10-12","On 105 boards a person already routed by hand.",false,"md",{},1,true,"\u002Frouting-bench","Provenboard's routing bench routes the 105 KiCad boards of PCBWorld-Bench's D3 set with a frozen engine copy and scores each against the person's layout.","How we measure our PCB router on 105 hand-routed boards",{"title":5,"description":94},"routing-bench",null,"cvNxmmAsc3X2PRJNeSiTNgShe_UEwmOndO2vDBXU_bY",[108],{"path":100,"title":5,"description":94,"date":93,"category":90,"authors":109,"cover":91,"coverAlt":92,"featured":95,"draft":95,"minutes":98},[110],{"name":8},1791780679460]