Skip to Content
ハイパフォーマンスPython
book

ハイパフォーマンスPython

by Micha Gorelick, Ian Ozsvald, 相川 愛三
November 2015
Intermediate to advanced
360 pages
6h 16m
Japanese
O'Reilly Japan, Inc.
Content preview from ハイパフォーマンスPython

6章行列とベクトルの計算

本章を読めば以下の問いに答えられるようになる
  • ベクトルの計算のボトルネックは何か?
  • CPUが計算を実行する効率を調べるツールは何か?
  • numpyを用いるとPythonだけを使って書くよりも数値計算の効率がよい理由は何か?
  • キャッシュミスとページフォールトとは何か?
  • コード上のメモリ確保を追跡する方法は?

コンピュータで解決しようとする問題がなんであろうと、どこかでベクトルの計算が絡むものです。ベクトルの計算は、コンピュータの動作上、また、シリコンのレベルまで考慮してプログラムの実行スピードを上げるためには不可欠です。コンピュータが知っていることは数値演算だけなので、複数の計算を一度に実行する方法を知れば、プログラムを高速化するのに役立ちます。

本章では、比較的簡単な数学の問題として拡散方程式の解法に焦点を当て、CPUのレベルで何が起こっているのかを理解することで、ベクトル計算の複雑な問題を解き明かします。PythonのコードによってCPUに与える影響が異なることを理解し、効率よく精査する方法を知ることで、他の諸問題も理解できるようになります。

それでは、まず扱う問題を紹介し、Pythonだけを使って簡単に解いて見せます。メモリの問題を指摘しPythonだけでその問題を解決したあとで、numpyを導入しコードが高速になるしくみと理由を示します。次に、アルゴリズムを少し変更して、numpyで問題を解決できるようにコードを書き換えます。numpyの持つ汎用性の一部を除去することによって、さらに高速化できることを示します。最後に、一連の作業を支援する外部モジュールを導入し、プロファイリングせずに最適化することの危険性についても述べます。

6.1 問題の説明 ...

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

ハイパフォーマンスPython 第2版

ハイパフォーマンスPython 第2版

Micha Gorelick, Ian Ozsvald, 中山 光樹
Python機械学習クックブック

Python機械学習クックブック

Chris Albon, 中田 秀基
オブザーバビリティ・エンジニアリング

オブザーバビリティ・エンジニアリング

Charity Majors, Liz Fong-Jones, George Miranda, 大谷 和紀, 山口 能迪
パフォーマンス向上のためのデザイン設計

パフォーマンス向上のためのデザイン設計

Lara Callender Hogan, 西脇 靖紘, 星野 靖子

Publisher Resources

ISBN: 9784873117409Other