Cython C との融合による Python の高速化

出版日
ページ数
268
Cython C との融合による Python の高速化
ISBN10
4873117275
ISBN13
978-4873117270
説明

Cython がテーマの書籍で、おそらく日本語で読める唯一の Cython 関連書籍です(ちなみに、 Cython は CPython ではないのでご注意ください)。

訳書で、オリジナルのタイトルは「 Cython: A Guide for Python Programmers 」です。

目次
はじめに 1章 Cython の基本 1.1 Python 、 C 、 Cython の比較 1.2 頭を冷やそう 1.3 Cython によるCコードのラップ 1.4 まとめ 2章 Cython コードのコンパイルと実行 2.1 Cython のコンパイルパイプライン 2.2 標準的な方法: distutils と cythonize を使う方法 2.3 IPython の %%cython を使う対話的 Cython 2.4 pyximport によるその場でのコンパイル 2.5 手作業でのコンパイル 2.6 Cython とほかのビルドシステムの組み合わせ 2.7 コンパイラディレクティブ 2.8 まとめ 3章 Cython の深層 3.1 インタープリタによる実行とコンパイラによる実行 3.2 動的な型付けと静的な型付け 3.3 cdef による静的型宣言 3.4 Cython の 3 種類の関数 3.5 強制型変換とキャスト 3.6 構造体、共用体、列挙型の宣言 3.7 ctypedef による型エイリアス 3.8 Cython の for ループと while ループ 3.9 Cython プリプロセッサ 3.10 Python 2 と Python 3 間の橋渡し 3.11 まとめ 4章 Cython の実際:多体問題シミュレーション 4.1 Python による多体問題コードの概要 4.2 Cython への変換 4.3 まとめ 5章 Cython と拡張型 5.1 Python のクラスと拡張型の比較 5.2 Cython の拡張型 5.3 型の属性とアクセス制御 5.4 C レベルの初期化とクリーンアップ 5.5 cdef メソッドと cpdef メソッド 5.6 継承とサブクラス化 5.7 Cython における拡張型プロパティ 5.8 特殊メソッドはさらに特殊 5.9 まとめ 6章 Cython コードの構成 6.1 Cython の実装( .pyx )、宣言( .pxd )ファイル 6.2 cimport 文 6.3 インクルードファイルと include 文 6.4 Python パッケージ内の Cython モジュールの構成とコンパイル 6.5 まとめ 7章 Cython による C ライブラリのラップ 7.1 Cython における外部 C コードの宣言 7.2 外部 C 関数と typedef の宣言 7.3 C の構造体、共用体、列挙型の宣言とラップ 7.4 C 関数のラップ 7.5 拡張型を使った C 構造体のラップ 7.6 const 、その他の修飾子、 Cython が生成するコードの制御 7.7 エラーチェックと例外の生成 7.8 コールバック 7.9 まとめ 8章 Cython による C++ ライブラリのラップ 8.1 単純な例: MT_RNG クラス 8.2 C++ 例外 8.3 C++ インスタンスのスタックおよびヒープ上のメモリ割り当て 8.4 C++ クラス階層の取り扱い 8.5 C++ テンプレート 8.6 メモリ管理とスマートポインタ 8.7 まとめ 9章 Cython のプロファイリングツール 9.1 Cython の実行時間のプロファイリング 9.2 プロファイリングとアノテーション 9.3 まとめ 10章 Cython 、 NumPy 、型付きメモリビュー 10.1 新しいバッファプロトコルの威力 10.2 型付きメモリビュー 10.3 C 、 C++ 配列のラップ 10.4 まとめ 11章 Cython の実際:スペクトルノルム 11.1 Python によるスペクトルノルム計算コードの概要 11.2 性能のプロファイリング 11.3 コードの Cython 化 11.4 C による実装との比較 11.5 まとめ 12章 Cython と並列プログラミング 12.1 スレッドベース並列処理とグローバルインタープリタロック 12.2 prange を使ったループの並列処理 12.3 prange を使ったリダクション 12.4 並列プログラミングの指針と落とし穴 12.5 まとめ 13章 世界の中の Cython 13.1 Cython とほかのプロジェクト 13.2 まとめ 索引
紹介( powered by openBD

Pythonの「遅さ」を解消するCythonの解説書!
豊富なライブラリで科学計算から金融工学まで利用が広がるPythonですが、速度が遅いという弱点を抱えています。この「遅さ」を解消すべく登場したのがCythonです。本書はPythonの表現性とC/C++の速さを備えたCythonを使って、パフォーマンス向上を図るための手法を示します。科学技術計算や統計分析の分野では恒常的にある「Pythonの速度を向上させたい」というニーズに応える一冊。