Snaplytics JS Tests

RAM帯域幅テスト

お使いのマシンがメモリ内でどれだけ速くデータを移動できるかを測定します。このテストは数百メガバイトのデータを4つのパスで転送し、シーケンシャル帯域幅をGB/sのスコアに変換することで、デバイスやブラウザ間で比較できるようにします。

準備完了
バッファサイズ

デフォルトは256 MBです——CPUキャッシュからあふれてRAMに達するのに十分な大きさです。1 GBはスマートフォンやメモリの少ないマシンでは失敗することがあります。

まず重いタブを閉じてから、同じブラウザでマシンを比較してください——エンジンも測定対象の一部です。

バッファを大きくするほど、より正確なRAM測定に

64 MBはCPUキャッシュに収まり、結果を実際より良く見せてしまうことがあります。256 MB以上になると、データは実際のメモリから読み書きされます。

ランダムは遅くなる

予測不能なアドレス間を飛び回ることでキャッシュとプリフェッチャーが無効化されるため、ランダムパスはシーケンシャルパスよりはるかに低い値になります——これは故障ではなくレイテンシによるものです。

同じ条件で比較する

スコアはハードウェアだけでなく、ブラウザやバックグラウンドの負荷によっても変動します。同じブラウザ、同じバッファサイズ、静かな状態のマシン——それでこそ比較に意味が生まれます。

メモリ速度は静かなボトルネックです。プロセッサは高速でもRAMが低速だったりシングルチャンネルだったりすると、重いタブを切り替えるときにカクつきますが、CPUメーターにはその理由が表示されません。帯域幅の数値はそれを可視化します——古いノートPCと買い替え後のマシンを比べたり、メモリを1枚追加する前後のマシンを比べたりできます。インストールやアップロードは一切不要です。バッファはブラウザのタブ内に存在し、タブを閉じた瞬間に解放されます。

「開始」を押すと、Web Workerがメインスレッドの外で2つの大きな型付き配列を確保します——これによりタブの応答性は保たれます——そして、コンパイルや初回アクセスのコストが結果に影響しないようウォームアップを行います。その後、4つのパスがそれぞれ5回繰り返され、平均が算出されます。シーケンシャル書き込みとシーケンシャル読み込みは古典的な帯域幅の組み合わせで、その平均がスコアになります。ランダムアクセスは疑似ランダムなアドレス間を飛び回ることでキャッシュとプリフェッチャーを無効化するため、レイテンシを測定することになり、シーケンシャルの数値よりはるかに低くなります。メモリコピーはエンジンの最適化されたブロック移動を使用し、通常は4つの中で最も高速です。

スコアの読み方

スコア評価一般的な意味
12+ GB/sエリート高速なマルチチャンネルメモリを搭載した最近のデスクトップやApple Silicon Mac
9 – 12 GB/sエクセプショナル最新のハイパフォーマンスノートPCやDDR5デスクトップ
6.5 – 9 GB/sエクセレント良好な状態の最近のハードウェア——デュアルチャンネルDDR4デスクトップや良質なノートPC
4 – 6.5 GB/sグッド主流のノートPCや古めのデスクトップ——日常的な作業には十分
2 – 4 GB/sフェアエントリー機、コンパクト機、または古いハードウェアで、シングルチャンネル動作のことが多い
2 GB/s未満プア非常に古いハードウェア——または何か問題がある可能性。重いタブを閉じ、電源に接続して再テストしてください

バッファサイズの選び方

バッファテスト対象トレードオフ
64 MB一部がCPUキャッシュに収まるほど小さいため、数値が高く出る最も速いパス——RAMテストというよりキャッシュテストとして扱うべき
256 MBあらゆるコンシューマー向けキャッシュからあふれ、実際のRAMに達するデフォルト設定——バランスが良く、デバイス比較に適したサイズ
512 MBL3キャッシュをはるかに超え、完全にRAM領域に入る実行時間はやや長くなるが、より安定した平均値が得られる
1 GB帯域幅だけでなくメモリ確保にも負荷をかけるスマートフォンやメモリの少ないマシンでは失敗することがある

ブラウザテストで測定できること、できないこと

このテストが測定するのは、JavaScriptが実際に到達できる帯域幅——つまりカタログスペックではなく、Webアプリの体感速度を左右する値です。DDR5-6000キットであっても、公称の数十GB/sをここで叩き出すことはありません。1つのスレッド、1つのブラウザエンジンで、ガベージコレクションも介在するため、スコアはAIDA64のようなネイティブツールよりかなり低くなり、他のブラウザスコアと比較するのが最適です。このサンドボックスではメモリタイミングやチャンネル数、ECCの状態は分かりません(キットの数値は代わりにRAMレイテンシ (RAM Latency) 計算機に入力してください)。また、不良メモリの検出にはMemTest86のようなブート時ツールが必要で、Webページでは対応できません。メモリだけが疑わしいわけではありません——CPUストレス・テストでプロセッサに、GPUストレステストでグラフィックカードに負荷をかけ、どこがボトルネックになっているか確認してください。

関連ツール