屈辱の集会所

2026/08/08 3:01

屈辱の集会所

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

「恥辱の議場」プロジェクト(クリスチャン・ドマスの主導)は、速度最適化ではなく単一指令の絶対的なフローア(最小値)を記録することを目的としています。最も高速に計測された指令はインテル Core i7 での

nop
(1 サイクル)ですが、極端な遅延は
vmovdqu ymm
命令(約 1.39 秒)や AMD Ryzen チップ上の
wrmsr
命令(約 0.92 秒)に見られます。勝者の高遅延戦略には、GPU レジスタへのアクセスのために PCIe ファブリックを飽和させるなどの複雑な回避策や、微コードアシストをトリガーするために NaN などの特殊値の使用が含まれます。注目されるエントリーには、仕様違反の非対齐読み込み命令やネスト深さ最大級の
enter
命令があります。この競技は厳格な規則に従っており、ファクトリーストックのハードウェア上で単一かつ割り込み不能な指令の実行を要求します。将来のプロジェクトでは、インテル Sapphire Rapids でさらなる長遅延(推定で 1 トリリオンサイクル)を探る可能性がありますが、ARM と RISC-V のリーダーボードは引き続き観測中です。これらの発見は深層アーキテクチャ的不効率を明らかにし、開発者が理論的な性能限界と、ハードウェアの欠陥や微コード振る舞いによる実際の物理的遅延を区別するのに役立ちます。

本文

アセッムブリ・シャーム殿堂(Assembly Hall of Shame)

📖 概要

アセッムブリ・シャーム殿堂は、通常のパフォーマンス最適化とは逆のアプローチを採用したプロジェクトです。単一指令の実行速度を最大限に遅くし、**絶対的な底値(フロア)**を探求しています。

  • 目的: コード実行速度の最小化(スロー化)
  • 対象: 単一の x86 アセンブリ指令

🏆 現チャンピオン:fxrstor64

現在、殿堂の最高位を占めるのはx86 アーキテクチャ上の

fxrstor64
指令です。

  • 使用 CPU: AMD Ryzen 7 5800H
  • 戦略: 「飢餓戦術」による PCIe ファブリックの飽和化
    • CPU 0 は、PCIe ファブリック内の高遅延 MMIO レジスタから FPU/MMX/XMM ステートを読み取る
      fxrstor64
      を実行する。
    • 読み込みが進行中(in flight)の間、ファブリックを「飢えさせる(starve)」状態にする。
    • CPU 1〜N(ハンマーコア隊)は、別の高遅延 MMIO レジスタへの緊密な 4 バイトリードを実行し、PCIe ルートコンプレックスとエンドポイントを未提出(non-posted)トランザクションで飽和させる。
    • これにより、CPU 0 の実行待ち行列はこれらの争用トラフィックの後ろに並ばざるを得なくなる。

🚀 スコア詳細

  • サイクル数:
    198,002,498,236
    クロックサイクル
  • 所要時間:
    62 秒

💻 コード例 (AMD Ryzen 7 5800H)

; CPU 0 — 計時対象の指令(スロー化)
movl $0xfcc68830, %rsi
fxrstor64 %rsi

; CPU 1..N — ハンマー攻撃ループ(PCIe 飽和化)
movl 0xfcc68858, %eax

🥈 名誉あるメンション:SMM 破壊

システム・マネジメント・モード(SMM)の根本的な設計を破壊した事例として、以下の非整合アドレスロード指令が採用されました。

  • 手法: stalled GPU レジスタからの未提出ワードアクセスを強制
  • 記述:
    smiiiiiiiiiiiiiiii
    (実装依存のメモリアクセス)
  • コード:
    vmovdqu 0xfcc003b1, %ymm0
    

⚖️ ルール規定

スコアリング対象は単一の指令のみです。以下の条件が必須です。

  • セッティング: 準備作業にどのような設定を用いても構いません。
  • 計測対象:
    • トラップ・エミュレート・仮想化される指令は、処理ハンドラの実行時間を計測してはなりません。
    • 許可されるのは「トラップ発生の時間」のみです。
  • 中断禁止: 指令は中断可能であってはなりません。
    • rep
      プレフィックスや
      pause
      などを使用すると不合格となります。
  • 正規化: 時間は CPU のベースクロック周波数に基づいて正規化されます。
  • ハードウェア制限: すべてのプラットフォームは**ファクトリ・ストック(出荷時設定)**でなければなりません。ハードウェアの改修は不可です。

📊 x86 リーダーボードトップ 30

ランク指令名スコア (サイクル)所要時間
30
nop
10 ns
29
nopl
207 ns
28
rdtsc
4918 ns
27
idiv
7728 ns
26
enter
11241 ns
25
fldl
13349 ns
24
clflush
16560 ns
23
fsin
25794 ns
22
mfence
326120 ns
21
mov cr3
352110 ns
20
fadd
677249 ns
19
split lock
865319 ns
18
fdiv
883325 ns
17
cpuid
1,248460 ns
16
rdrand
5,5792.057 µs
15
wrmsr
34,30410.742 µs
14
out
49,85715.580 µs
13
rdmsr
(VIA)
161,602202.004 µs
12
wbinvd
1,616,480506.165 µs
11
in
12,524,4153.921769 ms
10
mov
(PCIe deadspace)
443,937,696139.010268 ms
9
mov rax
(MMIO read x2)
887,716,864277.971228 ms
8
vmovdqu xmm
(MMIO x4)
1,774,555,776555.664133 ms
7
vmovdqu ymm
(MMIO x8)
3,549,079,2961.111345034 s
6
vmovdqu ymm
(unaligned)
4,453,212,2561.394428818 s
5
fxrstor64
(基準値)
74,584,168,51223.354502677 s
4🏆 fxrstor64 🏆198,002,498,23662 秒

※注:ランクは元のデータに基づき整理しました。トップ挑戦者は

fxrstor64
の拡張戦略で記録されたスコアです。


🧐 トップ挑戦者詳細と戦略解説

🥇 1 位:fxrstor64 (拡張遅延戦略)

  • CPU: AMD Ryzen 7 5800H (Trigkey S5)
  • 戦略: PCIe ルートコンプレックス飽和化による「飢餓戦術」の実施。

🥈 27 位:nop

  • 概要: 何もしません。リーダーボードの基準となる最小実行時間です。
  • 挑戦者: Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz

🥉 26 位:nop16

  • 概要: 通常の
    nop
    では短すぎたため、
    data16
    プレフィックスを反復使用して延長しました。
  • コード:
    data16 data16 data16 data16 data16 data16 data16 nopl 0x00000000(%%eax,%%eax,1)
    

🧮 24 位:idiv

  • 概要: 128 ビットの除数を使用し、商を符号拡張の上限値以上に押し上げることで時間を稼ぎます。
  • コード:
    xorq %rax, %rax       ; rax = 0 (除数の低 64 ビット)
    movq $2, %rdx         ; rdx = 2 (除数の高 64 ビット:実際の除数 = 2^65)
    movq $5, %rbx         ; 除数 → 商 = 2^65/5 ≈ 7.4×10^18
    idivq %rbx
    

📂 23 位:enter

  • 概要: ネストの最大深さ(31)を使用して、ディスプレイポインタのロードとプッシュを 30 回強要します。
  • コード:
    enter $0, $31         ; アロケートサイズ 0 バイト、ネスト深さ 31 (最大値)
    

🌊 22 位:fldl

  • 概要: 小さい正規化外の数値(denormal)を使用して、FP マイクロコードアシストをトリガーします。
  • コード:
    movabsq $0x0000000000000001, %rax
    movq    %rax, -8(%rsp)
    fldl    -8(%rsp)
    

➕ 20 位:fadd

  • 概要: 正規化外のソースオペランドを使用して、x87 FP マイクロコードアシストパスに到達します。
  • コード:
    fldl   subnorm        ; 1e-310: 値 < DBL_MIN, バイアスエキスポネント = 0
    faddl  subnorm        ; ソースが正規化外 → FP マイクロコードアシストが発生
    

🛡️ 15 位:wrmsr

  • 概要: Zen アーキテクチャで
    MCG_CTL
    を使用。MCA エラーバンク間のクイーズ/同期を必要とするファブリックレベルの通信を行います。
  • コード:
    movl $0x17b, %ecx     ; MCG_CTL
    wrmsr
    

💾 9 位:wbinvd

  • 概要: L1/L2/L3 キャッシュ全体にダッティライン(書き込み待機ライン)で完全に埋め尽くし、階層全体の DRAM への書き戻しを強制します。

🔄 7 位:mov (PCIe deadspace)

  • 概要: PCIe ファブリック内の高遅延デッドスペースを特定するために
    mmiotic
    を使用し、不明な GPU レジスタにアクセスします。

📦 5 位:vmovdqu xmm (MMIO x4)

  • 概要: MMIO スペース内で最も遅いレジスタを検索し、16 バイトの MMIO リード(4 ドワードアクセス)を使用します。
  • コード:
    vmovdqu 0xfcc003b0, %xmm0
    

🚀 4 位:vmovdqu ymm (MMIO x8) / unaligned

  • 概要: MMIO スペース内で最も遅いレジスタを検索し、より大きなデータ転送または不整合アドレスを使用して時間を稼ぎます。

📝 その他のアーキテクチャ

  • ARM リーダーボード: 未定(T.B.D.)
  • RISC-V リーダーボード: 未定(T.B.D.)

👤 著者情報

本プロジェクト「アセッムブリ・シャーム殿堂」は、Christopher Domas (@xoreaxeaxeax) 氏による研究プロジェクトです。

同じ日のほかのニュース

一覧に戻る →

2026/08/08 2:56

DeepSeek V4 フラッシュ 7 月 31 日

## Japanese Translation: ARC プライズ 2026 コンテストは開催中です。コンテストの最新情報を受け取るため、公式更新への登録を開始することで、参加者は情報を入手することができます。本サービスは、無断でスパムが送信されないことを保証しており、コンテストに関連する情報のみを送信します。参加者はいつでも登録を解除でき、組織側とのコミュニケーション経路について完全なコントロールと透明性のある、不快でない連絡手段を確保できます。

2026/08/08 3:51

古の図書館 – ギリシア語・ラテン語のテクストが 1,060 点、単語をタップして解析する

## Japanese Translation: このデジタルプラットフォームは、古典正典のための完全な解析リーダーを提供し、ラテン語およびギリシャ語の両方で 140 名の著者による 1,060 の基礎的作品へのアクセスを可能にします。コレクションには、叙事詩(ホーマー)、哲学(プラトン、キケロ)、歴史(タチトゥス)、伝記(サッルスティウス、リヴィウス)、弁論(キケロ、カエサル)、書簡(オラティウス、セネカ)といったジャンルにわたる 293 のラテン語作品が含まれ、さらに叙事詩(ホーマー、ヘシオドス)、悲劇と喜劇(ソフォクレース、アリストファネス)、歴史(ヘロドトス、トゥキディデス)、哲学(プラトン、アリストテレス)、伝記(プルートルコス)、地理学(ストラボン、パウサニアス)、医学(ガレン、ヒポクラテス)、数学・科学(ユークリッド、プトレマイオス)を網羅する 767 のギリシャ語作品が含まれています。また、聖書テキスト、初期キリスト教の著作、参考用文法書も含まれています。コア機能には統合された辞典エンジンがあり、あらゆる単語をクリックすると、すぐにその基本形・形態論学および完全な辞書項目が表示され、ラテン語の場合は Lewis & Short、ギリシャ語の場合は Liddell-Scott-Jones を経由します。このシームレスな相互作用により、物理的な書籍を相互参照する必要がなくなり、古代の知識の包括的なライブラリがユーザーの手のひらにあります。したがって、学者や学生は、デジタルインタフェースから離れることなく、形態論学的詳細の効率的な探索を行いながら、文化財を保護しつつ、現代教育および厳密な研究のために entire canon を跨いで直接テキスト内で深い言語分析を実行することができます。

2026/08/07 21:42

何もしない場合、なぜならこのタイトルは事実上の質問文として機能しているため、翻訳では疑問形をそのまま保ちます。 ただし、「class of workers」を「労働者層」と訳すと自然で、「career」もここでは「キャリア」ではなく「職業」または「仕事」の方が文脈に合います。「何が起こるか」は「何が起きるか」です。 もし entire class of workers がキャリアへの信頼を失うとどうなるのでしょうか

## Japanese Translation: 多くの高収入の専門家は、現代の知識労働の無意味さに深く幻滅しており、クラフト趣味(陶芸、絵画、マクロスなど)や激しいキャリア転換(例:山羊農場の開設やサーフィンインストラクターになる)へのブームを招いています。この世間は、仕事が一時的な役割として宗教が担っていた機能を吸収し、忙しさ自体を「見せかけ」に優先させるスペクタクルに変えてしまった「アメリカン・ワークイズム」を反映しています。これはダビッド・グラバーの『バカヤロージョブ』やギイ・ドーボードの『見せかけ社会』におけるテーマにも呼応します。これに対抗するため、テレスァ・アマイーブレの内発的動機原理が強調されています:創造性は外部評価指標や成果優先の圧力ではなく、内部への関心から育まれるものです。先を見渡せば、AI の統合により人間は「実行者」から自律エージェントを管理する管理者へと転換し、レポートの編成や戦略の立案などのタスクを処理することになるかもしれません。しかし、現在のレイオフは比例した効率化の利点を上回っており、自動化一辺倒での雇用削減はまだ正当化されていないことを示唆しています。専門家は、堅い効率性の目標を超えて、コラボレーションと創造的プロセスという「不恰好な中間地帯」へと移行することを提唱し、「表計算ソフトのために誰かが死ぬわけではないし、少数の人しか特定の製品ローンチを覚えていない」と読者に思い出させ、業界と個人に無意味さを増幅するのではなく、意味を回復するよう呼びかけています。