49 ポイント 投稿者 GN⁺ 2024-03-11 | 4件のコメント | WhatsAppで共有

プログラマーが知っておくべきレイテンシの数値を視覚的に表現

  • L1キャッシュ参照: 1ナノ秒
  • 分岐予測ミス: 3ナノ秒
  • L2キャッシュ参照: 4ナノ秒
  • ミューテックスのロック/アンロック: 17ナノ秒
  • 1 Gbpsネットワーク経由での1KBデータ送信: 44ナノ秒
  • メインメモリ参照: 100ナノ秒
  • Zippyを使った1KBデータ圧縮: 2マイクロ秒
  • メモリから1MBをシーケンシャル読み取り: 3マイクロ秒
  • SSDから4Kランダム読み取り: 16マイクロ秒
  • SSDから1MBをシーケンシャル読み取り: 49マイクロ秒
  • 同一データセンター内の往復時間: 500マイクロ秒
  • ディスクから1MBをシーケンシャル読み取り: 825マイクロ秒
  • ディスクシーク: 2ミリ秒
  • カリフォルニアからオランダまでパケットを送って戻る: 150ミリ秒

GN⁺の見解

  • このデータは、プログラマーがシステム設計や性能最適化を行う際の重要な参考資料になり得る。各演算や処理にどれほど時間がかかるかを知れば、どこがボトルネックになっているのかを把握し、改善できる。
  • たとえば、メモリアクセス時間とネットワーク遅延を比較すると、ネットワーク呼び出しを最小化し、メモリ内でデータを処理するほうがはるかに高速だと分かる。これは分散システム設計における重要な考慮事項になり得る。
  • こうしたレイテンシはハードウェアや技術の進歩に応じて変化し得るため、最新情報を維持することが重要である。たとえば、SSDの進化によってディスク読み取り時間は大幅に短縮された。
  • 新しい技術やオープンソースを導入する際には、こうしたレイテンシを考慮してシステム性能を予測し、どの技術が実環境で最も効果的かを判断する必要がある。たとえば、インメモリキャッシュソリューションを使えばネットワーク遅延を減らせるが、キャッシュ一貫性やデータ同期について追加の考慮が必要になる。

4件のコメント

 
kleinstein 2024-03-11

https://colin-scott.github.io/personal_website/research/…
こちらのほうが見やすいですね。

 
cosine20 2024-03-11

うわ、UI/UX が本当に気に入りませんね……

 
yangeok 2024-03-18

本当ですね、すごいですね、、

 
GN⁺ 2024-03-11
Hacker Newsのコメント
  • 1つ目のコメント要約:

    • ユーザーはJavaScriptコードを共有しており、このコードは latency-container クラスを持つHTML要素の子要素を巡回し、それぞれのレイテンシを出力する。
    • 出力されるレイテンシは、L1キャッシュ参照からデータセンター内の往復時間まで、さまざまなコンピューティング作業に関するものである。
  • 2つ目のコメント要約:

    • ユーザーインターフェース(UI)の使い勝手がよくないと評価し、これはユーザー体験(UX)に関する興味深い事例として提示されている。
    • UIは主要機能を果たすうえでユーザーの期待に及ばず、理解しづらいと批判している。
    • ユーザーはヘルプを読む必要があるが、ほとんどのユーザーはそれを好まない。
    • こうした問題点についての議論を通じて、UXに関する教訓を得られることを強調している。
  • 3つ目のコメント要約:

    • タイトルに Latency が入っておらず、検索時に他の結果を見つけにくいと指摘している。
    • 他のソースを参照しつつ、より多くのレイテンシ情報を提供するテキストベースの資料を好むとしている。
  • 4つ目のコメント要約:

    • 画面に表示されたUIの一部が読みにくいと批判している。
    • テキストが90度回転していて不便であり、UIは面白いものの、実際に情報を得るには機能より形式を重視しているようだと評価している。
  • 5つ目のコメント要約:

    • レイテンシ情報の起源に関連する資料を列挙し、この情報の歴史的背景を示している。
  • 6つ目のコメント要約:

    • ネットワーキングに関連するレイテンシは直感的ではないと述べている。
    • Google Stadia のようなサービスが期待よりもどのように高速になりうるのかについて、個人的な経験を共有している。
  • 7つ目のコメント要約:

    • Firefoxモバイルユーザーとして、UIが何を示そうとしているのか理解できないと述べている。
  • 8つ目のコメント要約:

    • UIに表示された数字の意味を理解できず、未来の年を表しているように見えるとして混乱を表している。
  • 9つ目のコメント要約:

    • タイトルがややミステリアスで、16、256、65536 などの数字についての内容を期待していたと述べている。
    • 2030年には1Kバイトをギガビットネットワークで送るほうが、CPU内部の分岐予測ミスより速くなるという主張に懐疑的だとしている。