91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python性能為什么如此的強大

發布時間:2021-10-28 16:35:47 來源:億速云 閱讀:180 作者:柒染 欄目:編程語言

Python性能為什么如此的強大,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Python性能十分的強大,相關的技術為什么會如此的強大呢?下面我們就詳細的看看相關技術問題。問題的提出是源于 這位兄弟的BLOG,在他的這個實現中,Python性能具有相當不錯的性能,不但優于帖子中的C實現性能,也優于隨后的跟貼中眾多的C++實現的性能。

在經過了多次嘗試,我還是很難找出一個優于Python性能的實現。這不是一件正常的事情,Python性能注定不會優于C/C++,這是因為Python是解釋執行的,解釋的過程必然會消耗CPU時間,所以我查閱了Python的源碼試圖找出為何Python性能對于這個任務有如此好的性能的原因。

任務描述如下

對于一個78W行的文本文件,每一行是一個Email地址,文件中存在有重復的行,任務的要求是盡可能快的從這個文本文件生成一個無重復的Email的文本文件

有如下的問題需要注意

對于這種大量的字符串比較,直接使用字符串比較函數是嚴重妨礙性能的IO性能是要注意的盡可能的少使用占用內存在我的嘗試中,發現重復調用ofstream::operator<< 是比較影響性能的,而使用 fprintf或使用copy 等 STL 算法輸出到則性能好的多。使用一種好的Hash算法是影響程序性能的關鍵。任務中的EMail字符串總是具有[a-z]*[0-9]*@([a-z]*\.)+[a-z]* 的形式,例如 joson123@sina.com.cn joson72345@sina.com.cn 的格式。

在$PySrc/Objects/dictobject.c 中,對Python的Hash機制作了一些描述,總的來說,Python的Hash機制對于這種連續型的字符串有相當好的離散度,對于這個 78W 例子,python_hash() % 780000能夠很均勻的分散到各個值,***的沖突數為 8。 以下是按照類似 Python的 Hash算法實現的 C++ 版本的結果

E:\Workspace\Temp\Email>my   經過了1687.5000毫秒   E:\Workspace\Temp\Email>my   經過了1718.7500毫秒   E:\Workspace\Temp\Email>my   經過了1671.8750毫秒   E:\Workspace\Temp\Email>my   經過了1656.2500毫秒   E:\Workspace\Temp\Email>py_email.py   2.82014641526   E:\Workspace\Temp\Email>py_email.py   2.74879181572   E:\Workspace\Temp\Email>py_email.py   2.76348586203   E:\Workspace\Temp\Email>dir *.txt   2006-03-28 13:09 19,388,869 email.txt   2006-03-29 22:51 17,779,266 email_new.txt (py_email.py 寫出)   2006-03-29 22:50 17,779,266 email_new_my.txt (my.exe 寫出)

看完上述內容,你們掌握Python性能為什么如此的強大的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

工布江达县| 酒泉市| 城市| 安化县| 永福县| 隆昌县| 罗平县| 河池市| 蕲春县| 七台河市| 汾阳市| 白山市| 游戏| 古丈县| 馆陶县| 绥阳县| 漳浦县| 威远县| 阿瓦提县| 龙山县| 石河子市| 宣化县| 土默特右旗| 万山特区| 手游| 萨嘎县| 略阳县| 屯门区| 台北县| 土默特左旗| 朝阳市| 古浪县| 山阳县| 灵宝市| 达州市| 大冶市| 诏安县| 寻甸| 马龙县| 惠安县| 延寿县|