Skip to Content
Cython ―Cとの融合によるPythonの高速化
book

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

by Kurt W. Smith, 中田 秀基, 長尾 高弘
June 2015
Intermediate to advanced
268 pages
5h 59m
Japanese
O'Reilly Japan, Inc.
Content preview from Cython ―Cとの融合によるPythonの高速化
218
12 章 Cython と並列プログラミング
コンパイラはエラーを起こす。これは、
print
が引数を強制的に
PyObject
に変換するからだ。
with nogil
コンテキストマネージャは、(
CPU
処理もしくは
IO
待ちで)ブロックを起こす操作
の間に
GIL
を解除するために用いることもできる。すると、このスレッドがおそらくは負荷の高
い処理を並行実行している間に、他の
Python
スレッドが実行できるようになる。
ここで、
kernel
関数が
nogil
節に加えて
except 0
節も持っていたらどうなるだろうか。この
場合、
Cython
nogil
コンテキストマネージャ内に適切なエラー処理コードを生成し、エラーは
GIL
を再び取得したあとに伝播される。
with gil
サブコンテキストを用いて、
with nogil
コンテキストの中で一時的に
GIL
を取得する
こともできる。たとえば、
nogil
関数の中で例外を生成したり、その他
Python
オブジェクトが必
要な操作を実行したりするには、この機能を用いて
GIL
を取得して行う。
Cython
でマルチスレッド並列処理をするには、
GIL
とは何かを理解し、
GIL
の管理方法を知る
ことは必要不可欠だが、それだけでは不十分だ。
GIL
が解除されている間に、マルチスレッドを使
うコードを実際に実行するのは、依然としてプログラマの仕事である。
マルチスレッド並列実行を実現する最も簡単な方法は、すでにマルチスレッドで実装されている
外部ライブラリを使うことだ。そのようなマルチスレッド並列実行関数を呼び出すには ...
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

データ匿名化手法 ―ヘルスデータ事例に学ぶ個人情報保護

データ匿名化手法 ―ヘルスデータ事例に学ぶ個人情報保護

Khaled El Emam, Luk Arbuckle, 木村 映善, 魔 狸, 笹井 崇司
入門 Python 3 第2版

入門 Python 3 第2版

Bill Lubanovic, 鈴木 駿, 長尾 高弘

Publisher Resources

ISBN: 9784873117270Other