diff --git a/site/build.mjs b/site/build.mjs index afb541942..aecc97142 100644 --- a/site/build.mjs +++ b/site/build.mjs @@ -448,18 +448,17 @@ for (const [file, active] of PAGES) { if (r.note) parts.push('Note ' + esc(r.note)); return parts.map(x => '' + x + '').join(''); }; - const heads = [['Card', 'card', 'text'], ['MH/s', 'mh_s', 'num'], ['MH per wall watt', 'mh_per_w', 'num'], ['Watts', 'watts', 'num'], ['Class v4 cost', 'v4', 'text'], ['Tuned', 'tuned', 'text'], ['Date', 'date', 'text'], ['', 'more', 'none']]; + const heads = [['Card', 'card', 'text'], ['MH/s', 'mh_s', 'num'], ['MH per wall watt', 'mh_per_w', 'num'], ['Watts', 'watts', 'num'], ['Tuned', 'tuned', 'text'], ['', 'more', 'none']]; const render = (list, id) => { const body = list.map((r, i) => { const [effHtml, effV] = effCell(r); const [tcls, tlabel] = tunedState(r); + const sub = 'class v4 ' + esc(shortV4(r)) + ' \u00B7 ' + esc(r.date) + ''; const cells = [ - ['lead', r.card, esc(r.card)], + ['lead', r.card, esc(r.card) + sub], ['big tnum', r.mh_s, esc(r.mh_s_display || fmt(r.mh_s))], ['tnum effc', effV, effHtml], ['quiet tnum', r.watts ?? -1, r.watts_display ? esc(r.watts_display) + ' W' : (r.watts == null ? 'not read' : esc(fmt(r.watts)) + ' W' + (r.watt_basis === 'chip' ? ' chip, not wall' : ''))], - ['quiet', shortV4(r), esc(shortV4(r))], ['pillc', tlabel, '' + tlabel + ''], - ['date', r.date, esc(r.date)], ['morec', '', ''], ]; return '' + cells.map(([c, v, h]) => `${h}`).join('') + '' + @@ -493,7 +492,7 @@ for (const [file, active] of PAGES) { .lede{font-size:18px;line-height:1.5;color:var(--bone);margin:0 0 var(--s-4)} .grp{font:500 10px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);margin:var(--s-5) 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)} details.grp summary{cursor:pointer;list-style:none}details.grp summary::-webkit-details-marker{display:none}details.grp summary::after{content:" \\u25BE";opacity:.6}details.grp[open] summary::after{content:" \\u25B4"} -.tbl.bench2wrap{overflow:visible;border:0;background:none;border-radius:0;max-width:100%} +.tbl.bench2wrap{overflow-x:auto;border:0;background:none;border-radius:0;max-width:100%} table.bench2{min-width:0;width:100%;border-collapse:collapse;font-size:14px;line-height:1.4} table.bench2 th{font:500 10px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ash);text-align:left;padding:0 12px 10px;border-bottom:1px solid var(--line);white-space:nowrap} table.bench2 th .sort{all:unset;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;padding-bottom:3px;border-bottom:2px solid transparent} @@ -502,28 +501,28 @@ table.bench2 th[aria-sort="descending"] .sort,table.bench2 th[aria-sort="ascendi table.bench2 th[aria-sort="descending"] .sort::after{content:" \\u2193";opacity:1;color:var(--ember)}table.bench2 th[aria-sort="ascending"] .sort::after{content:" \\u2191";opacity:1;color:var(--ember)} table.bench2 tr.row td{height:56px;padding:0 12px;border-bottom:1px solid var(--line);background:none;vertical-align:middle;white-space:nowrap;color:var(--ink-2)} table.bench2 tr.row:hover td{background:var(--hover)} -table.bench2 td.lead{white-space:normal;min-width:200px;color:var(--bone)} +table.bench2 td.lead{white-space:normal;min-width:220px;color:var(--bone);padding-top:8px;padding-bottom:8px} table.bench2 td.lead .cardname{display:inline-flex;align-items:center;gap:10px} +table.bench2 td.lead .gen{display:block;font:12px var(--mono);color:var(--ash);letter-spacing:.02em;margin-top:3px}table.bench2 td.lead .gen .dot{color:var(--line-2);margin:0 4px} table.bench2 td.big{font:600 22px/1 var(--f-display,var(--f-sans));color:var(--bone);font-variant-numeric:tabular-nums} table.bench2 td.tnum{font-variant-numeric:tabular-nums} table.bench2 .eff{font:500 15px/1 var(--f-sans);color:var(--ink-2)}table.bench2 .eff.best{color:var(--ember-text,var(--ember));font-weight:600} table.bench2 .hollow{color:var(--ash)} table.bench2 td.quiet{color:var(--ash);font-size:13px}table.bench2 .basis{font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ash);margin-left:6px} table.bench2 .pill.state{padding:5px 8px;font-size:9px}table.bench2 .pill.state.tuned{color:var(--ember-text,var(--ember));border-color:color-mix(in srgb,var(--ember) 35%,transparent);background:color-mix(in srgb,var(--ember) 8%,transparent)}table.bench2 .pill.state.stock{color:var(--ash)}table.bench2 .pill.state.nolever{color:var(--ash);border-style:dashed} -table.bench2 td.date{font:12px var(--mono);color:var(--ash);letter-spacing:.02em} table.bench2 button.more{all:unset;cursor:pointer;font:500 10px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ash);padding:6px 0;border-bottom:1px solid var(--line-2)}table.bench2 button.more:hover{color:var(--bone)} table.bench2 tr.detail td{padding:12px 12px 16px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.55;color:var(--ash);white-space:normal;overflow-wrap:anywhere} table.bench2 tr.detail .d{display:block;margin:0 0 4px}table.bench2 tr.detail b{color:var(--ink-2);font-weight:600;margin-right:6px} -@media(max-width:720px){ +@media(max-width:1100px){ table.bench2,table.bench2 tbody,table.bench2 tr.detail,table.bench2 tr.detail td{display:block} table.bench2 thead{display:none} - table.bench2 tr.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"lead lead big" "eff eff eff" "w v4 pill" "date date more";gap:4px 12px;padding:10px 0;min-height:44px;border-bottom:1px solid var(--line);align-items:center} + table.bench2 tr.row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"lead big" "eff eff" "w pill" "more more";gap:4px 12px;padding:10px 0;min-height:44px;border-bottom:1px solid var(--line);align-items:center} table.bench2 tr.row td{display:block;height:auto;padding:0;border:0;white-space:normal;min-width:0} table.bench2 td.lead{grid-area:lead}table.bench2 td.lead .cardname{display:flex;align-items:center;gap:8px}table.bench2 td.lead .cardname .badge{flex:none} table.bench2 td.big{grid-area:big;font-size:20px;text-align:right;white-space:nowrap} table.bench2 td.effc{grid-area:eff;font-size:13px}table.bench2 td.effc .eff::before,table.bench2 td.effc .hollow::before{content:"MH per wall watt ";color:var(--ash);font-weight:400} - table.bench2 td.quiet.tnum{grid-area:w}table.bench2 td.quiet:not(.tnum){grid-area:v4}table.bench2 td.pillc{grid-area:pill;text-align:right} - table.bench2 td.date{grid-area:date}table.bench2 td.morec{grid-area:more;text-align:right} + table.bench2 td.quiet.tnum{grid-area:w}table.bench2 td.pillc{grid-area:pill;text-align:right} + table.bench2 td.morec{grid-area:more;text-align:right} table.bench2 tr.detail td{padding:8px 0 14px} } `; diff --git a/site/miners.html b/site/miners.html index 0db813668..a23dd88fb 100644 --- a/site/miners.html +++ b/site/miners.html @@ -226,7 +226,7 @@ table{min-width:560px} .lede{font-size:18px;line-height:1.5;color:var(--bone);margin:0 0 var(--s-4)} .grp{font:500 10px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);margin:var(--s-5) 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)} details.grp summary{cursor:pointer;list-style:none}details.grp summary::-webkit-details-marker{display:none}details.grp summary::after{content:" \u25BE";opacity:.6}details.grp[open] summary::after{content:" \u25B4"} -.tbl.bench2wrap{overflow:visible;border:0;background:none;border-radius:0;max-width:100%} +.tbl.bench2wrap{overflow-x:auto;border:0;background:none;border-radius:0;max-width:100%} table.bench2{min-width:0;width:100%;border-collapse:collapse;font-size:14px;line-height:1.4} table.bench2 th{font:500 10px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ash);text-align:left;padding:0 12px 10px;border-bottom:1px solid var(--line);white-space:nowrap} table.bench2 th .sort{all:unset;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;padding-bottom:3px;border-bottom:2px solid transparent} @@ -235,28 +235,28 @@ table.bench2 th[aria-sort="descending"] .sort,table.bench2 th[aria-sort="ascendi table.bench2 th[aria-sort="descending"] .sort::after{content:" \u2193";opacity:1;color:var(--ember)}table.bench2 th[aria-sort="ascending"] .sort::after{content:" \u2191";opacity:1;color:var(--ember)} table.bench2 tr.row td{height:56px;padding:0 12px;border-bottom:1px solid var(--line);background:none;vertical-align:middle;white-space:nowrap;color:var(--ink-2)} table.bench2 tr.row:hover td{background:var(--hover)} -table.bench2 td.lead{white-space:normal;min-width:200px;color:var(--bone)} +table.bench2 td.lead{white-space:normal;min-width:220px;color:var(--bone);padding-top:8px;padding-bottom:8px} table.bench2 td.lead .cardname{display:inline-flex;align-items:center;gap:10px} +table.bench2 td.lead .gen{display:block;font:12px var(--mono);color:var(--ash);letter-spacing:.02em;margin-top:3px}table.bench2 td.lead .gen .dot{color:var(--line-2);margin:0 4px} table.bench2 td.big{font:600 22px/1 var(--f-display,var(--f-sans));color:var(--bone);font-variant-numeric:tabular-nums} table.bench2 td.tnum{font-variant-numeric:tabular-nums} table.bench2 .eff{font:500 15px/1 var(--f-sans);color:var(--ink-2)}table.bench2 .eff.best{color:var(--ember-text,var(--ember));font-weight:600} table.bench2 .hollow{color:var(--ash)} table.bench2 td.quiet{color:var(--ash);font-size:13px}table.bench2 .basis{font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ash);margin-left:6px} table.bench2 .pill.state{padding:5px 8px;font-size:9px}table.bench2 .pill.state.tuned{color:var(--ember-text,var(--ember));border-color:color-mix(in srgb,var(--ember) 35%,transparent);background:color-mix(in srgb,var(--ember) 8%,transparent)}table.bench2 .pill.state.stock{color:var(--ash)}table.bench2 .pill.state.nolever{color:var(--ash);border-style:dashed} -table.bench2 td.date{font:12px var(--mono);color:var(--ash);letter-spacing:.02em} table.bench2 button.more{all:unset;cursor:pointer;font:500 10px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ash);padding:6px 0;border-bottom:1px solid var(--line-2)}table.bench2 button.more:hover{color:var(--bone)} table.bench2 tr.detail td{padding:12px 12px 16px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.55;color:var(--ash);white-space:normal;overflow-wrap:anywhere} table.bench2 tr.detail .d{display:block;margin:0 0 4px}table.bench2 tr.detail b{color:var(--ink-2);font-weight:600;margin-right:6px} -@media(max-width:720px){ +@media(max-width:1100px){ table.bench2,table.bench2 tbody,table.bench2 tr.detail,table.bench2 tr.detail td{display:block} table.bench2 thead{display:none} - table.bench2 tr.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"lead lead big" "eff eff eff" "w v4 pill" "date date more";gap:4px 12px;padding:10px 0;min-height:44px;border-bottom:1px solid var(--line);align-items:center} + table.bench2 tr.row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"lead big" "eff eff" "w pill" "more more";gap:4px 12px;padding:10px 0;min-height:44px;border-bottom:1px solid var(--line);align-items:center} table.bench2 tr.row td{display:block;height:auto;padding:0;border:0;white-space:normal;min-width:0} table.bench2 td.lead{grid-area:lead}table.bench2 td.lead .cardname{display:flex;align-items:center;gap:8px}table.bench2 td.lead .cardname .badge{flex:none} table.bench2 td.big{grid-area:big;font-size:20px;text-align:right;white-space:nowrap} table.bench2 td.effc{grid-area:eff;font-size:13px}table.bench2 td.effc .eff::before,table.bench2 td.effc .hollow::before{content:"MH per wall watt ";color:var(--ash);font-weight:400} - table.bench2 td.quiet.tnum{grid-area:w}table.bench2 td.quiet:not(.tnum){grid-area:v4}table.bench2 td.pillc{grid-area:pill;text-align:right} - table.bench2 td.date{grid-area:date}table.bench2 td.morec{grid-area:more;text-align:right} + table.bench2 td.quiet.tnum{grid-area:w}table.bench2 td.pillc{grid-area:pill;text-align:right} + table.bench2 td.morec{grid-area:more;text-align:right} table.bench2 tr.detail td{padding:8px 0 14px} } @@ -265,14 +265,14 @@ table.bench2 tr.detail .d{display:block;margin:0 0 4px}table.bench2 tr.detail b{

Best desktop card: NVIDIA RTX 5090, 136.1 MH/s, 0.563 MH per wall watt tuned (measured, 2026-10-06).

One row per card on the current class: the class v4 program (the latency-shadow block over the class v3 hash), or a class v3 row re-measured with its class v4 cost on 6 October 2026 or later. MH per wall watt uses board or wall power; a row whose watts are the chip's (Apple silicon: GPU plus DRAM from IOReport) says so and is not ranked on that column. Integrated GPUs are not listed.

Cards you can buy

-
NVIDIA RTX 5090 (32 GB)
136.1 stock (127.7 tuned)0.563226.8 tuned (350 stock) W133.8 MH/s, 305 W, 0.439Tuned2026-10-06
NVIDIA RTX 5070 Ti (16 GB)
78.40.539145.6 Wnot measuredStock2026-10-07
NVIDIA RTX 5080 (16 GB)
71.4 stock (71.2 tuned)0.486146.6 tuned (253 stock) W+83 W unlocked, +41 W at the best pointsTuned2026-10-08
NVIDIA RTX 3090 Ti (24 GB)
620.248249.5 Wnot measuredStock2026-10-07
NVIDIA RTX 3080 Ti (12 GB)
590.221267.3 Wnot measuredStock2026-10-07
NVIDIA RTX 4090 (24 GB)
52.30.285183.1 Wnot measuredStock2026-10-07
NVIDIA RTX 5070 (12 GB)
520.506102.8 Wnot measuredStock2026-10-07
NVIDIA RTX 3090 (24 GB)
50not measurednot readnot measuredStock2026-10-07
NVIDIA RTX 3080 (10 GB)
43.7not measurednot readnot measuredStock2026-10-07
NVIDIA RTX 3070 Ti (8 GB)
390.219178.3 Wnot measuredStock2026-10-07
NVIDIA RTX 3070 (8 GB)
33.7not measurednot readnot measuredStock2026-10-07
NVIDIA RTX 3060 Ti (8 GB)
33.10.256129.5 Wnot measuredStock2026-10-07
NVIDIA RTX 5060 (8 GB)
31.30.41575.4 Wnot measuredStock2026-10-07
NVIDIA RTX 4070 Ti (12 GB)
31.30.291107.3 Wnot measuredStock2026-10-07
NVIDIA RTX 4070 (12 GB)
310.38979.5 W+30 WTuned2026-10-06
NVIDIA RTX 5060 Ti (16 GB)
30.90.269114.8 W0.1 percent rateStock2026-10-07
Apple M5 Max (40 GPU cores, Metal)
27○ 1.2921 W chip, not wall+16 WNo lever2026-10-06
NVIDIA RTX 3060 (12 GB)
26.90.241111.6 Wnot measuredStock2026-10-07
NVIDIA RTX 4060 Ti (8 GB)
20.10.25977.5 Wnot measuredStock2026-10-07
AMD Radeon RX 9070 XT (16 GB)
18.9 (18.8 to 19.2 on the G1 ladder)0.093202 stock W+2 percent rateNo lever2026-10-08
Intel Arc B580 (12 GB)
11not measurednot read0.1 percent rateStock2026-10-07
+
NVIDIA RTX 5090 (32 GB)class v4 133.8 MH/s, 305 W, 0.439 · 2026-10-06136.1 stock (127.7 tuned)0.563226.8 tuned (350 stock) WTuned
NVIDIA RTX 5070 Ti (16 GB)class v4 not measured · 2026-10-0778.40.539145.6 WStock
NVIDIA RTX 5080 (16 GB)class v4 +83 W unlocked, +41 W at the best points · 2026-10-0871.4 stock (71.2 tuned)0.486146.6 tuned (253 stock) WTuned
NVIDIA RTX 3090 Ti (24 GB)class v4 not measured · 2026-10-07620.248249.5 WStock
NVIDIA RTX 3080 Ti (12 GB)class v4 not measured · 2026-10-07590.221267.3 WStock
NVIDIA RTX 4090 (24 GB)class v4 not measured · 2026-10-0752.30.285183.1 WStock
NVIDIA RTX 5070 (12 GB)class v4 not measured · 2026-10-07520.506102.8 WStock
NVIDIA RTX 3090 (24 GB)class v4 not measured · 2026-10-0750not measurednot readStock
NVIDIA RTX 3080 (10 GB)class v4 not measured · 2026-10-0743.7not measurednot readStock
NVIDIA RTX 3070 Ti (8 GB)class v4 not measured · 2026-10-07390.219178.3 WStock
NVIDIA RTX 3070 (8 GB)class v4 not measured · 2026-10-0733.7not measurednot readStock
NVIDIA RTX 3060 Ti (8 GB)class v4 not measured · 2026-10-0733.10.256129.5 WStock
NVIDIA RTX 5060 (8 GB)class v4 not measured · 2026-10-0731.30.41575.4 WStock
NVIDIA RTX 4070 Ti (12 GB)class v4 not measured · 2026-10-0731.30.291107.3 WStock
NVIDIA RTX 4070 (12 GB)class v4 +30 W · 2026-10-06310.38979.5 WTuned
NVIDIA RTX 5060 Ti (16 GB)class v4 0.1 percent rate · 2026-10-0730.90.269114.8 WStock
Apple M5 Max (40 GPU cores, Metal)class v4 +16 W · 2026-10-0627○ 1.2921 W chip, not wallNo lever
NVIDIA RTX 3060 (12 GB)class v4 not measured · 2026-10-0726.90.241111.6 WStock
NVIDIA RTX 4060 Ti (8 GB)class v4 not measured · 2026-10-0720.10.25977.5 WStock
AMD Radeon RX 9070 XT (16 GB)class v4 +2 percent rate · 2026-10-0818.9 (18.8 to 19.2 on the G1 ladder)0.093202 stock WNo lever
Intel Arc B580 (12 GB)class v4 0.1 percent rate · 2026-10-0711not measurednot readStock

21 cards. Details opens a card's Hive flight-sheet values, its full class v4 cost, miner, source and note.

Datacentre (8 cards, rented for the measurement; about three times the rented dollars per hash of a desktop card) -
NVIDIA B200 (180 GB)
416.40.487855.6 Wnot measuredStock2026-10-07
NVIDIA H200 SXM (141 GB)
3130.723432.9 Wnot measuredStock2026-10-07
NVIDIA H100 SXM (80 GB)
248.70.645385.6 Wnot measuredStock2026-10-07
NVIDIA A100 PCIe (80 GB)
1550.517299.6 Wnot measuredStock2026-10-07
NVIDIA A100 SXM (80 GB)
138.40.52266.3 Wnot measuredStock2026-10-07
NVIDIA RTX PRO 6000 Blackwell (96 GB)
130.50.452288.7 Wnot measuredStock2026-10-07
NVIDIA L40S (48 GB)
56.40.234240.7 Wnot measuredStock2026-10-07
NVIDIA RTX A5000 (24 GB)
47.6not measurednot readnot measuredStock2026-10-07
+
NVIDIA B200 (180 GB)class v4 not measured · 2026-10-07416.40.487855.6 WStock
NVIDIA H200 SXM (141 GB)class v4 not measured · 2026-10-073130.723432.9 WStock
NVIDIA H100 SXM (80 GB)class v4 not measured · 2026-10-07248.70.645385.6 WStock
NVIDIA A100 PCIe (80 GB)class v4 not measured · 2026-10-071550.517299.6 WStock
NVIDIA A100 SXM (80 GB)class v4 not measured · 2026-10-07138.40.52266.3 WStock
NVIDIA RTX PRO 6000 Blackwell (96 GB)class v4 not measured · 2026-10-07130.50.452288.7 WStock
NVIDIA L40S (48 GB)class v4 not measured · 2026-10-0756.40.234240.7 WStock
NVIDIA RTX A5000 (24 GB)class v4 not measured · 2026-10-0747.6not measurednot readStock
Earlier classes (6 rows: the genesis program, the hourly program, class v3 before the shadow; not comparable with the table above)

The bench numbers of 3 and 4 October 2026. A higher MH/s here is a different hash, not a faster card.

-
NVIDIA RTX 5090 (32 GB)
229not measurednot readnot measuredStock2026-10-03
NVIDIA RTX 5090 (32 GB)
185.3not measurednot readnot measuredStock2026-10-03
NVIDIA RTX 5090 (32 GB)
124.2not measurednot readnot measuredStock2026-10-04
Apple M5 Max (40 GPU cores, Metal)
45.2not measurednot readnot measuredStock2026-10-03
Apple M5 Max (40 GPU cores, Metal)
26.7not measurednot readnot measuredStock2026-10-04
Apple silicon laptop (model not reported)
24.3not measurednot readnot measuredStock2026-10-04
+
NVIDIA RTX 5090 (32 GB)class v4 not measured · 2026-10-03229not measurednot readStock
NVIDIA RTX 5090 (32 GB)class v4 not measured · 2026-10-03185.3not measurednot readStock
NVIDIA RTX 5090 (32 GB)class v4 not measured · 2026-10-04124.2not measurednot readStock
Apple M5 Max (40 GPU cores, Metal)class v4 not measured · 2026-10-0345.2not measurednot readStock
Apple M5 Max (40 GPU cores, Metal)class v4 not measured · 2026-10-0426.7not measurednot readStock
Apple silicon laptop (model not reported)class v4 not measured · 2026-10-0424.3not measurednot readStock
Why the rates changed

The genesis program did 104 dependent random 4-byte loads per hash over a 1 GiB dataset; the hourly program and class v3 do 128, with the mixer between them; class v4 adds about 100,000 integer operations per hash that ride in the memory wait. So the hash is bound by random-read bandwidth by design, and a card's MH/s is a relative number: the difficulty follows it, and the same card earns the same share of blocks at 136 MH/s on class v3 as it did at 228 MH/s on the genesis program. What a miner compares is hash per watt, and what the chain cares about is the chip edge, which the shadow work is there to cut.