爆速Python(Tiago Rodrigues Antão 株式会社クイープ 株式会社クイープ)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. 爆速Python

爆速Python

原著
監修
翻訳

形式:
書籍
発売日:
ISBN:
9784798183732
定価:
3,960(本体3,600円+税10%)
仕様:
B5変・352ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発
シリーズ:
Programmer's SELECTION
紙の書籍

「そう、すべては速さのために」

Pythonでデータセットを扱う際、最後に重要になってくるのはやはり「処理速度」です。データが巨大であればあるほど、ちょっとした工夫が処理速度を向上させ、「データの氾濫」ともいえる現状を打開する鍵になってくれます。

Pythonの特性を理解しつつそのパフォーマンスを最大限に引き出し、さらにハイパフォーマンスなライブラリを正しく利用することができれば、遅い遅いといわれがちなPythonにおいても、爆速な処理を手にすることができるのです。

本書は、組み込み機能やスレッディング特性、CPythonのグローバルインタプリタロック(GIL)などに始まり、Cythonへの移行やGPUの利用に至るまでの多面的なアプローチを紹介し、単にマシン性能を上げたり、マシンの数を増やすだけでは得られない、効率的なPythonアプリケーションの記述をサポートします。

【本書は『Fast Python: High performance techniques for large datasets』の邦訳書です。】

◆◆◆◆◆もくじ◆◆◆◆◆

●Part 1 基礎的なアプローチ
 ・Chapter 1 データ処理の効率化が急がれている
 ・Chapter 2 組み込み機能のパフォーマンスを最大限に引き出す
 ・Chapter 3 並行性、並列性、非同期処理
 ・Chapter 4 ハイパフォーマンスなNumPy
●Part 2 ハードウェア
 ・Chapter 5 Cythonを使って重要なコードを再実装する
 ・Chapter 6 メモリ階層、ストレージ、ネットワーク
●Part 3 現代のデータ処理のためのアプリケーションとライブラリ
 ・Chapter 7 ハイパフォーマンスなpandasとApache Arrow
 ・Chapter 8 ビッグデータの格納
●Part 4 高度なトピック
 ・Chapter 9 GPUコンピューティングを使ったデータ分析
 ・Chapter 10 Daskを使ったビッグデータの分析

 ・付録A 環境のセットアップ
 ・付録B Numbaを使って効率的な低レベルコードを生成する

画像01
画像02
画像03

●Part 1 基礎的なアプローチ
 ・Chapter 1 データ処理の効率化が急がれている
 ・Chapter 2 組み込み機能のパフォーマンスを最大限に引き出す
 ・Chapter 3 並行性、並列性、非同期処理
 ・Chapter 4 ハイパフォーマンスなNumPy
●Part 2 ハードウェア
 ・Chapter 5 Cythonを使って重要なコードを再実装する
 ・Chapter 6 メモリ階層、ストレージ、ネットワーク
●Part 3 現代のデータ処理のためのアプリケーションとライブラリ
 ・Chapter 7 ハイパフォーマンスなpandasとApache Arrow
 ・Chapter 8 ビッグデータの格納
●Part 4 高度なトピック
 ・Chapter 9 GPUコンピューティングを使ったデータ分析
 ・Chapter 10 Daskを使ったビッグデータの分析

 ・付録A 環境のセットアップ
 ・付録B Numbaを使って効率的な低レベルコードを生成する

本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
この商品の「よくある質問」はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2024年08月02日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 098
リスト直後の本文
結果は(10,) (4,)、(20, 4)、(4, 20) になります。
ストライドは(4,)、(20, 4)、(4, 20) になります。
2024.08.02
1刷 099
本文最初の段落
2 次元配列の場合はもう少し複雑です。2 × 5 配列で列を前方に移動したい場合、要素は隣接しているため、要素1 つ分(現在の要素の分だけ)移動する必要があります(図4-5)。要素のサイズは4 バイトなので、ストライドは4 になります。ただし、行を前方に移動したい場合は、(各行に要素が5 つあるため)現在の要素+ 4 だけスキップする必要があります。したがって、5(要素の個数)× 4(要素のサイズ)= 20 になります。メモリをこのように解釈すると、関数strides[0]*i + strides[1]*j (20*i + 4*j)を使って要素i,j にアクセスできます。
2 次元配列の場合はもう少し複雑です。2 × 5 配列で列を前方に移動したい場合、要素は隣接しているため、要素1 つ分(現在の要素の分だけ)移動する必要があります(図4-5)。要素のサイズは4 バイトなので、ストライドは4 になります。ただし、行を前方に移動したい場合、ストライドは5(要素の個数)× 4(要素のサイズ)= 20 になります。メモリをこのように解釈すると、関数strides[0]*i + strides[1]*j (20*i + 4*j)を使って要素i,j にアクセスできます。
2024.08.02
1刷 099
本文2つ目の段落
m5x2 のストライドは4, 20 です。つまり、次元は2 つであり、次の行へ移動するには4 バイト× 5 列= 20 バイトだけ移動する必要があります。次の列は4 バイト離れた次の値です。
m5x2 のストライドは4, 20 です。次の行に移動するには、4バイトだけ移動する必要があります。次の列は20バイト離れた次の値です。
2024.08.02
1刷 100
図4-6中、「どう見えるか」の内容
0 1 2 3 4 5 6 7 8 9
0 5 1 6 2 7 3 8 4 9
2024.08.02