まいみ09のお買い物ダイアリ

まいみ09のお買い物ダイアリ

PR

プロフィール

maimi09

maimi09

カレンダー

キーワードサーチ

▼キーワード検索

バックナンバー

2025年11月
2025年10月
2025年09月
2025年08月
2015年11月21日
XML
カテゴリ: 本のちょっと技巧
強力なライブラリを豊富に備え、科学計算から統計分析、金融工学まで利用が広がる Python。スクリプト言語とは思えない高速性の秘密が、NumPyやSciPyなどのPythonパッケージで広く使われている Cythonです。 CythonはPythonプログラムの実装を高速化するコンパイラであると同時に、 C/C++で書かれたライブラリをPythonから利用できるようにするブリッジとしての役割も果たします。
本書は Pythonの表現力とC/C++の速さを備えたCythonを使って、 高速なシステムを効率的に開発する手法を示します。科学技術計算や統計分析の分野では恒常的にある「Pythonを 高速化したい」というニーズに応える一冊です。

出版社の情報より。

Cython

Cython
著者:クルト・W.スミス
発売日:2015年6月
発行元:オライリー・ジャパン
発売元:オーム社
ページ数:245p
ISBN:9784873117270
価格:3,456円(税込、送料込)
楽天ブックスで詳細を見る

主な目次

  • 1章 Cythonの基本
    • 1.1 Python、C、Cythonの比較
      • 1.1.1 関数呼び出しのオーバーヘッド
      • 1.1.2 ループ処理
      • 1.1.3 算術演算
      • 1.1.4 スタックとヒープ
    • 1.2 頭を冷やそう
    • 1.3 CythonによるCコードのラップ
    • 1.4 まとめ
  • 2章 Cythonコードのコンパイルと実行
    • 2.1 Cythonのコンパイルパイプライン
      • 2.1.1 コンパイラのインストールとセットアップのテスト
    • 2.2 標準的な方法:distutilsとcythonizeを使う方法
      • 2.2.1 使用するdistutilsスクリプト
      • 2.2.2 Mac OS X、Linuxでのdistutilsを使うコンパイル
      • 2.2.3 Windowsでのdistutilsを使うコンパイル
      • 2.2.4 拡張モジュールの使い方
    • 2.3 IPythonの%%cythonを使う対話的Cython
    • 2.4 pyximportによるその場でのコンパイル
      • 2.4.1 pyximportの制御と依存関係の管理
      • 2.4.2 外部依存コードがあるときのpyximportの例
      • 2.5 手作業でのコンパイル
      • 2.6 Cythonとほかのビルドシステムの組み合わせ
        • 2.6.1 CMakeとCython
        • 2.6.2 SConsとCython
        • 2.6.3 MakeとCython
      • 2.7 コンパイラディレクティブ
      • 2.8 まとめ
  • 3章 Cythonの深層
    • 3.1 インタープリタによる実行とコンパイラによる実行
    • 3.2 動的な型付けと静的な型付け3.3 cdefによる静的型宣言
      • 3.3.1 Cythonにおける自動型推論
      • 3.3.2 CythonにおけるCポインタ
      • 3.3.3 静的に型付けされた変数と動的に型付けされた変数の併用
      • 3.3.4 Python型の静的な宣言
      • 3.3.5 スピードを得るための静的型付け
      • 3.3.6 参照カウント管理と静的文字列型
    • 3.4 Cythonの3種類の関数
      • 3.4.1 defキーワードによるCython内のPython関数
      • 3.4.2 cdefキーワードによるCython内のC関数
      • 3.4.3 cpdefによるdef関数とcdef関数の融合
      • 3.4.4 関数と例外処理
      • 3.4.5 関数とembedsignatureコンパイラディレクティブ
    • 3.5 強制型変換とキャスト
    • 3.6 構造体、共用体、列挙型の宣言
    • 3.7 ctypedefによる型エイリアス
    • 3.8 Cythonのforループとwhileループ
      • 3.8.1 効率のよいループを生成するためのガイドライン
      • 3.8.2 ループの例
    • 3.9 Cythonプリプロセッサ
    • 3.10 Python 2とPython 3間の橋渡し
      • 3.10.1 str、unicode、bytesについて
    • 3.11 まとめ
  • 4章 Cythonの実際:多体問題シミュレーション
    • 4.1 Pythonによる多体問題コードの概要
    • 4.2 Cythonへの変換
      • 4.2.1 Pythonでのデータ構造と構成
      • 4.2.2 Pythonデータ構造からC構造体への変換
      • 4.2.3 Cython化バージョンの実行
    • 4.3 まとめ
  • 5章 Cythonと拡張型
    • 5.1 Pythonのクラスと拡張型の比較
    • 5.2 Cythonの拡張型
    • 5.3 型の属性とアクセス制御
    • 5.4 Cレベルの初期化とクリーンアップ
    • 5.5 cdefメソッドとcpdefメソッド
    • 5.6 継承とサブクラス化
      • 5.6.1 キャストとサブクラス
      • 5.6.2 拡張型のオブジェクトとNone
    • 5.7 Cythonにおける拡張型プロパティ
    • 5.8 特殊メソッドはさらに特殊
      • 5.8.1 算術演算メソッド
      • 5.8.2 リッチ比較
      • 5.8.3 イテレータのサポート
    • 5.9 まとめ
  • 6章 Cythonコードの構成
    • 6.1 Cythonの実装(.pyx)、宣言(.pxd)ファイル
    • 6.2 cimport文
      • 6.2.1 定義済みの定義ファイル
    • 6.3 インクルードファイルとinclude文
    • 6.4 Pythonパッケージ内のCythonモジュールの構成とコンパイル
    • 6.5 まとめ
  • 7章 CythonによるCライブラリのラップ
    • 7.1 Cythonにおける外部Cコードの宣言
      • 7.1.1 Cythonはラップを自動化しない
    • 7.2 外部C関数とtypedefの宣言
    • 7.3 Cの構造体、共用体、列挙型の宣言とラップ
    • 7.4 C関数のラップ
    • 7.5 拡張型を使ったC構造体のラップ
    • 7.6 const、その他の修飾子、Cythonが生成するコードの制御
    • 7.7 エラーチェックと例外の生成
    • 7.8 コールバック
      • 7.8.1 コールバックと例外の伝播
    • 7.9 まとめ
  • 8章 CythonによるC++ライブラリのラップ
    • 8.1 単純な例:MT_RNGクラス
      • 8.1.1 ラッパー拡張型
      • 8.1.2 C++によるコンパイル
      • 8.1.3 Pythonからのラッパーの使い方
      • 8.1.4 多重定義されたメソッドと関数
      • 8.1.5 多重定義された演算子
    • 8.2 C++例外
    • 8.3 C++インスタンスのスタックおよびヒープ上のメモリ割り当て
    • 8.4 C++クラス階層の取り扱い
    • 8.5 C++テンプレート
      • 8.5.1 テンプレート関数とCythonの融合型
      • 8.5.2 テンプレートクラス
      • 8.5.3 イテレータと入れ子クラス
      • 8.5.4 インクルードされたSTLコンテナクラスの宣言
    • 8.6 メモリ管理とスマートポインタ
    • 8.7 まとめ
  • 9章 Cythonのプロファイリングツール
    • 9.1 Cythonの実行時間のプロファイリング
    • 9.2 プロファイリングとアノテーション
    • 9.3 まとめ
  • 10章 Cython、NumPy、型付きメモリビュー
    • 10.1 新しいバッファプロトコルの威力
      • 10.1.1 memoryview型
    • 10.2 型付きメモリビュー
      • 10.2.1 型付きメモリビューの例
      • 10.2.2 型付きメモリビューデータに対するCレベルのアクセス
      • 10.2.3 安全性を犠牲にした性能の向上
      • 10.2.4 型付きメモリビューの宣言
      • 10.2.5 型付きメモリビューの使い方
      • 10.2.6 バッファを越えて
    • 10.3 C、C++配列のラップ
      • 10.3.1 CythonとC配列の正しい(そして自動的な)メモリ管理
    • 10.4 まとめ
  • 11章 Cythonの実際:スペクトルノルム
    • 11.1 Pythonによるスペクトルノルム計算コードの概要
    • 11.2 性能のプロファイリング
    • 11.3 コードのCython化
      • 11.3.1 静的型情報の追加
      • 11.3.2 型付きメモリビューの利用
    • 11.4 Cによる実装との比較
    • 11.5 まとめ
  • 12章 Cythonと並列プログラミング
    • 12.1 スレッドベース並列処理とグローバルインタープリタロック
      • 12.1.1 関数のnogil属性
      • 12.1.2 with nogilコンテキストマネージャ
    • 12.2 prangeを使ったループの並列処理
      • 12.2.1 prangeの使い方
      • 12.2.2 prangeのオプション
    • 12.3 prangeを使ったリダクション
    • 12.4 並列プログラミングの指針と落とし穴
    • 12.5 まとめ
  • 13章 世界の中のCython
    • 13.1 Cythonとほかのプロジェクト
      • 13.1.1 その他のPython事前コンパイラ
      • 13.1.2 Pythonラッパープロジェクト
      • 13.1.3 Python用実行時コンパイラ
    • 13.2 まとめ






お気に入りの記事を「いいね!」で応援しよう

最終更新日  2015年11月21日 23時59分09秒
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: