Skip to Main Content
高效能PYTHON程式設計
book

高效能PYTHON程式設計

by Micha Gorelick, Ian Ozsvald
August 2015
Intermediate to advanced content levelIntermediate to advanced
384 pages
7h 42m
Chinese
GoTop Information, Inc.
Content preview from 高效能PYTHON程式設計
216
|
第九章
因為我們正在使用單位圓,可透過移除平方根操作(1
2
= 1)將這個計算最佳化,留下
一個容易實作的簡單運算式︰
x
2
+ y
2
1
我們會在範例 9-1 中檢視這個試驗的迴圈版本,我們將實作一般的 Python 版本,以及
numpy
版本(稍後),並且,我們會利用執行緒與行程,把這個問題平行化。
使用多行程與多執行緒估計 pi
一般的 Python 實作比較容易瞭解,本節將從這裡開始,在迴圈裡使用浮點數物件。我們
會使用多個行程,利用多個有效的 CPU 來平行化這項工作,而且,因為使用更多 CPU
的關係,我們會以視覺化的方式來表示機器的狀態。
使用 Python 物件
Python 實作很容易理解,但是它包含了一些額外的成本,因為每個 Python 浮點數都必
須被管理、參照及同步化。這些額外成本拖慢了我們的執行速度,但是幫我們省下一些
思考時間,因為這個實作很容易完成。透過平行化這個版本,我們藉由極少的附加工作
獲得了額外的速度提升。
9-2 顯示 Python 範例的 3 個實作︰
未使用
multiprocessing
(命名為 "Series",循序處理)
使用多執行緒(命名為 "Threads"
使用多行程(命名為 "Processes"
multiprocessing ...
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.
Start your free trial

You might also like

流畅的Python

流畅的Python

Luciano Ramalho
手把手教会你linux

手把手教会你linux

桑德.范.乌格特

Publisher Resources

ISBN: 9789863477105