序文
ハイパフォーマンスコンピューティングというと、複雑な気象現象をモデル化したり、遠く離れた星のデータに含まれる信号を解析する大規模なコンピュータクラスタを想像するかもしれません。そのため、特殊なシステムを構築する人だけがコードのパフォーマンス特性を気にするべきだと考えがちです。しかし、本書を手にすることで、パフォーマンスの高いコードを書くために必要な理論と実践を学ぶ一歩を踏み出すことができます。パフォーマンスの高いシステムを構築する方法を理解することは、すべてのプログラマーにとって有益です。
実現できるかどうかの際にあるアプリケーションは、パフォーマンスの高いコードを書かずに実現することはできません。もしそのようなコードを書いているのであれば、あなたは正しい場所にいることになります。しかし、パフォーマンスの高いコードの恩恵を受けられるアプリケーションは、もっと広範囲にわたります。
イノベーションの原動力は新しい技術だと思われがちですが、私は技術の利用しやすさを桁違いに向上させる技術も同様に好きです。時間や計算コストが10分の1になれば、対応できるアプリケーションの範囲は想像以上に広がります。
この原理が私の仕事に初めて現れたのは、10年以上前、ソーシャルメディアの会社で働いていたときのことです。当時は、ソーシャルメディアで猫と犬のどちらの画像がより多くクリックされるかを調べるために、何テラバイトものデータを分析していました。
結果はもちろん犬でした。猫は単にブランド力があるだけです。
これは当時、計算時間とインフラを投入した対象としては、群を抜いてくだらないものでした。それまでは不正行為の検出など、十分に価値のあるアプリケーションに限られていた技術を、一見些細な問題に適用できるようになったことで、今までにない新しい世界が広がったのです。私たちは、これらの実験から学んだことを生かして、検索やコンテンツ探索の分野でまったく新しい製品を作ることができました。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access