Docs: Update benchmark for anthropic/claude-sonnet-5 EFF:high

This commit is contained in:
github-actions[bot]
2026-07-01 22:16:12 +00:00
parent 0c2cd5e395
commit 48dfa6cd44
12 changed files with 441 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
async function computeMST(tomlString) {
const [{ parse }, { Heap }, { default: textTable }] = await Promise.all([
import('https://esm.sh/smol-toml'),
import('https://esm.sh/mnemonist'),
import('https://esm.sh/text-table'),
]);
const { edges = [] } = parse(tomlString);
if (!Array.isArray(edges) || edges.length === 0) {
return { table: textTable([['From', 'To', 'Weight']]), totalWeight: 0 };
}
class UnionFind {
constructor(nodes) {
this.parent = new Map(nodes.map(n => [n, n]));
this.rank = new Map(nodes.map(n => [n, 0]));
}
find(x) {
let p = this.parent.get(x);
if (p !== x) { p = this.find(p); this.parent.set(x, p); }
return p;
}
union(a, b) {
let ra = this.find(a), rb = this.find(b);
if (ra === rb) return false;
const rkA = this.rank.get(ra), rkB = this.rank.get(rb);
if (rkA < rkB) [ra, rb] = [rb, ra];
this.parent.set(rb, ra);
if (rkA === rkB) this.rank.set(ra, rkA + 1);
return true;
}
}
const heap = new Heap((a, b) => a.weight - b.weight);
edges.forEach(e => heap.push(e));
const nodeSet = new Set();
edges.forEach(({ from, to }) => { nodeSet.add(from); nodeSet.add(to); });
const uf = new UnionFind([...nodeSet]);
const target = nodeSet.size - 1;
const mst = [];
let totalWeight = 0;
while (heap.size > 0 && mst.length < target) {
const { from, to, weight } = heap.pop();
if (uf.union(from, to)) {
mst.push([from, to, String(weight)]);
totalWeight += weight;
}
}
const rows = [['From', 'To', 'Weight'], ...mst];
return { table: textTable(rows), totalWeight };
}
export default computeMST;
// Generation time: 24.146s
// Result: PASS