Asm.jsとの決別について

2026/05/20 21:01

Asm.jsとの決別について

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

要約

Japanese Translation:

Firefox 148 は、Web 開発において重要な転換点を示すもので、デフォルトで asm.js の最適化を無効化することにより、13 年間にわたる OdinMonkey の終わりを宣言します。この決定的な動きは、現代的な WebAssembly 標準を優先し、ブラウザエンジンを簡素化させ、複数の実行パスを維持することに関連するセキュリティリスクを減らすことを目的としています。既存の asm.js サイトについては、当初バックアップコンパイラを通じて通常通り動作しますが、该技术は将来のリリースで完全に削除される予定です。開発者は、長期的な互換性と優れたパフォーマンスを確保するため、旧プロジェクトを WebAssembly に再コンパイルすることを強く推奨されます。2013 年(Firefox 22)に導入され、ネイティブ速度でのコード実行を可能にするための前段階として位置づけられた asm.js は、その後より小さいバイナリサイズと堅牢なコンパイル機能を備えた WebAssembly の導入の道を開きました。この移行は、OdinMonkey の時代に対する自然な「ラグナロク(Ragnarök)」を表しており、ウェブパフォーマンスを 1 つでありながらもより安全な標準の下に統合するとともに、完全な廃止が行われる前に開発者にビルドパイプラインのアップグレードを促しています。

本文

アックスの時代、剣の時代、盾の時代は既に過ぎ去り、風の時代、狼の時代も世界が滅びる前に訪れるでしょう。
——『ヴォルスプージ』、『詩篇エッダ』より

Firefox 148 より、SpiderMonkey の asm.js 最適化はデフォルトで無効化され、今後あるリリースでこの機能を完全に廃止する予定です。

asm.js を使用しているサイトの管理者様におかれましてはご安心ください。何ら不具合が生じることはございません。asm.js は単なる JavaScript のサブセットに過ぎませんから、従来の JIT コンパイラを通じて他のスクリプト同様正常に実行されます。ただし、WebAssembly へコンパイルし直すと、より高速な実行と小さいバイナリサイズを実現できます。

歴史的背景

asm.js は Mozilla が「ウェブ上でネイティブ並みの速度でコードを実行する方法は?」という NaCl および PNaCl が提起した問いに対する答えでした。

その着想は巧妙でした。エンジンがリアルタイムに認識し、ネイティブコードへコンパイルできる厳格な静的型付け付きの JavaScript サブセットを選定すればよいと考えたのです。これにより、NaCl/PNaCl と同等のパフォーマンスを維持しつつ、別途サンドボックスや IPC、代替 API を必要とせず、コードがウェブコンテンツ内に存続し、ウェブ API も利用可能となりました。

asm.js は 2013 年に Firefox 22 にて導入され、大成功を収めました。Unity や Unreal のようなプロジェクトが、標準的なウェブ技術のみを用いて C/C++ コードベースを初めてウェブへ配信することを可能にしました。Epic Citadel デモもわずか 4 日間でウェブ向けに移植されました。これは画期的な達成であり、元の asm.js チームにとっては懐かしい思い出となっています。

asm.js は、ウェブ技術をただ用いることで、ほぼネイティブ同等の速度でのコード実行が可能であることを実証しました。それは数年後に Firefox 52 にて導入された WebAssembly の扉を開きました。もし asm.js が存在していなければ、WebAssembly も誕生しなかったでしょう。

なぜ今なのか?

ではなぜ今回のように廃止するのか? それは、WebAssembly が成功を収め、asm.js の利用も大半が移行されつつあるからです。WebAssembly 並行して asm.js のパスを維持することは、メンテナンスコストを増大させ、仮想マシン上の攻撃対象領域を広げるリスクとなります。

asm.js コンテンツをお送り中の皆様には、ぜひ WebAssembly へ再コンパイルを検討することを推奨します。当社の WebAssembly パイプラインは、かつての asm.js パイプラインよりも大幅に進化しています。より高速な実行と小型なバイナリサイズが得られるはずです。

ラグナロク

asm.js コンパイラの名前は「OdinMonkey(オディン・モング)」です。遥か昔から預言された通りに、オディン・モングは運命的な最期を迎えなければなりません。「オディン・モングの黄昏」を追跡するバグの名も「ラグナロク」とされています。

しかし希望を完全に捨てることはありません。なぜならオディン・モングからは BaldrMonkey(バルド・モング)———that is, our WebAssembly optimizing compiler —— が生まれ、再び蘇った世界では RabaldrMonkey(ラバルド・モング、「 commotion」=動乱の意)というウェブアセンブリのベースラインコンパイラと共に治めることになるからです。オディン・モングが狼フェンリルに丸ごと飲み込まれても、バルド・モングとラバルド・モングは再生した世界を共に支配するのです。

このオディンの日(水曜日)、 thirteen 年に亘りお世話になったオディン・モングの皆様に感謝申し上げます。「スカール!」

「未耕の田から成熟した実りが現れ、すべての悪も良くなり、バルドは再び帰還す。
バルドとホトはハロップの戦いの殿で共に住む。」
——『ヴォルスプージ』、『詩篇エッダ』より

同じ日のほかのニュース

一覧に戻る →

2026/05/20 22:43

GitHub、悪意のある Visual Studio Code エクステンションによる 3,800 リポジトリの侵害を確認。

## 日本語翻訳: GitHub は、従業員が悪意のある Visual Studio Code (VS Code) 拡張機能のインストールによって、約 3,800 の内部リポジトリが侵害された重大なセキュリティインシデントを確認しました。主な影響は、機密性の高い GitHub 内部のソースコードと、ハッカーグループ「TeamPCP」がサイバー犯罪フォーラムで所持していると主張する約 4,000 つのプライベートリポジトリの漏洩可能性がある点にあります。このインシデントは、ソフトウェアサプライチェーン内で長年見られる課題を浮き彫りにしており、過去には悪意のある拡張機能が認証情報を窃取したりマルウェアを配布したりするために利用されてきました。特に以前の年には、数百万回のインストール数を誇りながらセキュリティリスクにより削除されたトロージャン化された VS Code 拡張機能や、クリプトStealing の拡張機能、データを漏洩させる AI ベースのコーディングアシスタントを含む他のインシデントもありました。これら過去の事例は外部ユーザーを標的としたものであったのに対し、今回のインシデントは GitHub の自前のインフラストラクチャと開発チームに限定されており、これらの内部リポジトリの外に保存された顧客データに影響があったという証拠はありません。

2026/05/21 6:33

Google がウェブに対して「宣戦布告」に出たとして言われている。

## Japanese Translation: Google は、オープンウェブのリンクを AI が生成したサマリー(「AI オーバービュー」)に置換する活動を積極的に進めており、これは閉鎖的で管理されたインターネットを創出するというリスクを孕んでいます。現在、ウェブは開かれた文化的リソースとして扱われるべきですが、Google は自社の独占的なニーズを満たすために情報を文脈から切り離し、既存のデータを報酬なしの原材料として使用し、事実上その独り占め体制を支えています。このアプローチは、かつて企業が行ってきた「壁の中庭(walled gardens)」建設の試みに酷似しており、不制御された外部世界に対して安全でフィルタリングされたインターフェースを提供しています。この動きはリンクから LLM 生成のレスポンスへ移行するものであり、時々誤っている答えを提供することで、ウェブに対する Google の独占的な管理層を確立し、ウェブサイト、ユーザーの創作活動、デジタルアートが synthetic generation に餌を与える限り、それらを無関係にしてしまうという脅威をもたらしています。業界基準がこの優越性に適応して変化するリスクもあり、将来的には早期のアール「slopified AOL」に類似した、劣化しアルゴリズムによってキュレートされたプラットフォームとなる可能性があります。アクセスは Google のアルゴリズムが「関連する」と判断したコンテンツに限られます。主な影響は、デフォルト設定に依存するユーザーの情報多様性の低下です。真理および文化へのアクセスの独占に対抗するためには、個人はすぐにデジタル習慣を「De-googlify」する必要性に直面しており、代替検索エンジンへ移行し、Chrome を避ける必要があります。情報の独占化へのこのシフトはオープン標準にも脅威を与え、Google の「安全な」抽象化と対照的に、参加型ウェブに対して非難ラベルが適用される可能性があります。記事は Patreon での呼びかけで締めくくり、本文はクリエイティブ・コモンズアトリビューション・シェアアライク 4.0国際ライセンスの下で提供されていることを示しています。

2026/05/18 11:04

N トークン毎秒とは、実際にはどのような速度なのでしょうか?

## 概要: この報告書の中核的なメッセージは、ローカル LLM のパフォーマンスが単なる生速度だけでは決定されるのではなく、主にコンテンツタイプとハードウェアの制約に大きく依存することである。スループットベンチマークは、コード、テキスト、思考/推論、エージェントの 4 つの明確なストリーミングモードを明らかにしており、同等のトークン率においてでも識別子の高い密度のためプロース(文章)に比べてコードが著しく遅く感じられる。補足のために、本研究では長い識別子を分割する特定のパターン付き BPE(Piece-wise Byte Encoding)方式のトークナイゼーション手法を使用しており、例えば「processUserInput」は「process」「User」「Input」に分けられ、句読点や演算子もトークンとして扱われる。これは tiktoken や Claude のトークナイザーなど一般的なツールとは異なる。テスト範囲は広く、Raspberry Pi クラスのデバイスから 4090 などのハイエンド GPU、Groq などのクラウドサービスまでをカバーしている。重要な知見として、ハイエンドシステムではハードウェアが 1 秒あたり最大 800 トokens を処理できる一方で、実際のユーザー体験は人間の視覚処理速度で決定される上限に達し、極限スピードにおいてはボトルネックは計算能力からシフトして、人が画面を閲覧または視聴する速さという要因に移行する。したがって、これらのモデルを展開する企業は、これらの 4 つの特定のストリーミングモードに合わせて期待値と最適化戦略をカスタマイズし、ユーザーのニーズに合わせる必要がある。

Asm.jsとの決別について | そっか~ニュース