April 2023
Intermediate to advanced
452 pages
7h 21m
Japanese
プログラミングは、データのビットを移動し、特別な方法で変換して、ある結果を得ることと考えられます。ただし、これらの演算には時間的なコストがかかります。したがって、ハイパフォーマンスプログラミングとは、これらの演算量を最小化することとみなせます。そのために、より効率的なコードを書いてオーバーヘッドを減らしたり、より適切なアルゴリズムを選択して演算を効率化します。
まずは、コードのオーバーヘッドを軽減することに焦点を当てることで、ビットを動かしている実際のハードウェアについての理解を深めてみましょう。Pythonはハードウェアを直接操作するのではなく抽象化することに重きを置く言語なので、ビット移動のレベルで考えるのは無駄に思えます。しかし、ハードウェア上でビットを移動する最善な方法と、Pythonがビットの移動を抽象化する方法を理解すれば、Pythonで高性能なプログラムを書く第一歩となります。
コンピュータの構成要素は、大きくは「演算装置」「記憶装置」「両者の接続装置」という3つの装置に分けられます。さらに、これらの装置には使ううえで理解しておくべき特性があります。演算装置であれば1秒間に何回の計算ができるのかという特性があり、記憶装置であればどれだけの量のデータを保持し、どれだけ速く読み書きできるのかという特性があり、接続装置であればどれだけ速くデータをある場所から別の場所に移動できるのかという特性があります。 ...
Read now
Unlock full access