摘要:注本文的原文地址為這個是性能快速優(yōu)化的第二部分,第一部分請點擊這里。當你寫代碼了,過一遍數(shù)據(jù)結(jié)構(gòu),迭代結(jié)構(gòu),內(nèi)建和為創(chuàng)建擴展,如有必要。更新是在的范圍之外,這意味著你可以使用這個標準庫來運行多個進程。看下我的的印度演講
注:本文的原文地址為 Quick Python Performance Optimization: Part II
這個是 Python 性能快速優(yōu)化的第二部分,第一部分請點擊這里。
使用 Map ,Reduce 和 Filter 代替 for 循環(huán)
校驗 a in b, 字典 或 set 比 列表 或 元組 更好
當數(shù)據(jù)量大的時候,盡可能使用不可變數(shù)據(jù)類型,他們更快 元組 > 列表
在一個列表中插入數(shù)據(jù)的復(fù)雜度為 O(n)
如果你需要操作列表的兩端,使用 deque
del - 刪除對象使用如下
1) python 自己處理它,但確保使用了 gc 模塊
2) 編寫 __del__ 函數(shù)
3) 最簡單的方式,使用后調(diào)用 del
time.clock()
GIL(http://wiki.python.org/moin/GlobalInterpreterLock) - GIL is a daemon
GIL 僅僅允許一個 Python 的原生線程來運行每個進程。阻止 CPU 級別的并行,嘗試使用 ctypes 和 原生的 C 庫來解決它,當你達到 Python 優(yōu)化的最后,總是存在一個選項,可以使用原生的 C 重寫慢的函數(shù),通過 Python 的 C 綁定使用它,其他的庫如 gevent 也是致力于解決這個問題,并且獲得了成功。
TL,DR:當你寫代碼了,過一遍數(shù)據(jù)結(jié)構(gòu),迭代結(jié)構(gòu),內(nèi)建和為 GIL 創(chuàng)建 C 擴展,如有必要。
更新:multiprocessing 是在 GIL 的范圍之外,這意味著你可以使用 multiprocessing 這個標準庫來運行多個進程。
看下我的 2013 的印度 PyCon 演講
www.slideshare.net/atmb4u/faster-python
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/37329.html
摘要:這意味著一級優(yōu)化,而不是進入冗長的優(yōu)化序列。使用創(chuàng)建生成器以及盡可能使用,它們比正常的列表方式更快。讓我繼續(xù)下一個層次的第二部分快速優(yōu)化技巧 注: 本文的原文地址 quick-python-performance-optimization-part-i Python可能最容易扼殺你的想法,但不是最好的代碼實現(xiàn)。盡管強烈反對過早優(yōu)化,但在 Python 代碼中一點點的優(yōu)化都可能...
摘要:新聞熱點國內(nèi)國外,前端最新動態(tài)發(fā)布近日,正式發(fā)布新版本中提供了一系列的特性與問題修復(fù)。而近日正式發(fā)布,其能夠幫助開發(fā)者快速構(gòu)建應(yīng)用。 前端每周清單第 10 期:Firefox53、React VR發(fā)布、JS測試技術(shù)概述、Microsoft Edge現(xiàn)代DOM樹構(gòu)建及性能之道 為InfoQ中文站特供稿件,首發(fā)地址為這里;如需轉(zhuǎn)載,請與InfoQ中文站聯(lián)系。從屬于筆者的 Web 前端入門...
摘要:讓你收獲滿滿碼個蛋從年月日推送第篇文章一年過去了已累積推文近篇文章,本文為年度精選,共計篇,按照類別整理便于讀者主題閱讀。本篇文章是今年的最后一篇技術(shù)文章,為了讓大家在家也能好好學(xué)習(xí),特此花了幾個小時整理了這些文章。 showImg(https://segmentfault.com/img/remote/1460000013241596); 讓你收獲滿滿! 碼個蛋從2017年02月20...
摘要:十開放模式識別項目開放模式識別項目,致力于開發(fā)出一套包含圖像處理計算機視覺自然語言處理模式識別機器學(xué)習(xí)和相關(guān)領(lǐng)域算法的函數(shù)庫。 一、開源生物特征識別庫 OpenBROpenBR 是一個用來從照片中識別人臉的工具。還支持推算性別與年齡。使用方法:$ br -algorithm FaceRecognition -compare me.jpg you.jpg二、計算機視覺庫 OpenCVOpenC...
閱讀 6018·2021-11-24 10:25
閱讀 2939·2021-11-16 11:44
閱讀 3966·2021-10-11 11:09
閱讀 3234·2021-09-02 15:41
閱讀 3318·2019-08-30 14:14
閱讀 2381·2019-08-29 14:10
閱讀 2414·2019-08-29 11:03
閱讀 1200·2019-08-26 13:47