Docs: Update benchmark for z-ai/glm-5.2

This commit is contained in:
github-actions[bot]
2026-06-19 23:14:20 +00:00
parent 3cd4fa5ca6
commit d4ae079fea
12 changed files with 321 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
const computeMST = async (tomlStr) => {
const { parse } = await import('https://esm.sh/smol-toml');
const { Heap } = await import('https://esm.sh/mnemonist');
const textTable = (await import('https://esm.sh/text-table')).default;
const config = parse(tomlStr);
const edges = config.edges || [];
class UnionFind {
constructor() { this.p = {}; this.r = {}; }
add(n) { if (!(n in this.p)) { this.p[n] = n; this.r[n] = 0; } }
find(n) { return this.p[n] === n ? n : (this.p[n] = this.find(this.p[n])); }
union(a, b) {
const ra = this.find(a), rb = this.find(b);
if (ra === rb) return false;
if (this.r[ra] < this.r[rb]) this.p[ra] = rb;
else if (this.r[ra] > this.r[rb]) this.p[rb] = ra;
else { this.p[rb] = ra; this.r[ra]++; }
return true;
}
}
const uf = new UnionFind();
const heap = new Heap((a, b) => a.weight - b.weight);
const nodes = new Set();
for (const e of edges) {
nodes.add(e.from);
nodes.add(e.to);
uf.add(e.from);
uf.add(e.to);
heap.push(e);
}
const mst = [];
let totalWeight = 0;
while (heap.size && mst.length < nodes.size - 1) {
const e = heap.pop();
if (uf.union(e.from, e.to)) {
mst.push([e.from, e.to, String(e.weight)]);
totalWeight += e.weight;
}
}
return {
table: textTable([['From', 'To', 'Weight'], ...mst]),
totalWeight
};
};
export default computeMST;
// Generation time: 22.055s
// Result: PASS