官术网_书友最值得收藏!

在前面的例子中,我們是通過Python中的標準time函數分別對不同的函數和組件進行計時的。雖然這種方法對于小型的程序來說比較好用,但對于調用許多不同函數的大型程序來說并不總是可行,因為大型程序中有些函數可能值得我們去并行化,但有些函數根本不值得這樣做,甚至不值得在CPU上進行優化。本節的目標是,找到程序的瓶頸和熱點——即使我們精力充沛,并且在每一個函數調用前后都應用了time函數,仍有可能會遺漏一些東西;或者,會有一些我們從未考慮到的系統調用或庫調用,但或許正是它們在“扯后腿”。在考慮重寫代碼以在GPU上運行之前,我們首先要找出哪些代碼需要轉移到GPU上,且必須始終牢記美國著名計算機科學家Donald Knuth的忠告——“過早的優化是萬惡之源”。

我們將借助性能分析工具來查找代碼中的瓶頸和熱點。利用這些工具,我們很容易找出程序中哪些代碼最為耗時,以便對其進行相應的優化。

主站蜘蛛池模板: 巢湖市| 中卫市| 武平县| 嘉黎县| 井研县| 永泰县| 吴堡县| 金阳县| 随州市| 永安市| 平凉市| 易门县| 平谷区| 蓬溪县| 丹巴县| 永平县| 绥芬河市| 海丰县| 江山市| 十堰市| 会同县| 苏尼特右旗| 宣汉县| 雅江县| 临夏市| 桂东县| 得荣县| 教育| 邹平县| 通许县| 杭锦后旗| 天台县| 正镶白旗| 西昌市| 鄂州市| 灯塔市| 伊通| 松滋市| 栾川县| 南岸区| 门源|