DropBox使用Python的經(jīng)驗有哪些

DropBox使用Python的經(jīng)驗有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供岳陽企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、html5、小程序制作等業(yè)務(wù)。10年已為岳陽眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

DropBox 使用 Python 的經(jīng)驗分享:

1.1 Use Python

Dropbox 的 99.9% 的代碼是用 Python 寫的。 Python 使用在服務(wù)器端、桌面的客戶端、網(wǎng)站控制邏輯,后端的 API 和分析

在 Android 平臺,由于內(nèi)存的限制不能使用 Python

使用 Python 語言運(yùn)行單一的代碼。通過使用 PyObjs , WxPython , types , py2exe , py2ap , PyWin32 等工具,讓 Dropbox 運(yùn)行在 Windows , Mac 和 Linux 系統(tǒng)

優(yōu)點(diǎn):

開發(fā)人員通過 Python 互相溝通和表達(dá)思想

簡單易學(xué),易于閱讀,易于編寫,新人容易上手

缺點(diǎn):

別傻了

它消耗太多的內(nèi)存并且運(yùn)行的太慢。在服務(wù)器端不是大問題,只要買大的機(jī)器就行。但在客戶端,你別指望讓老的 Power PC 用戶升級設(shè)備

Python 和 C 混合編程會產(chǎn)生問題,因為它很難跨越語言邊界輪廓想象你使用固定內(nèi)存和 CPU 想干什么( Coding in a mixed environment of Python and C creates problems because it's hard to profile across the language boundaries like you want to do when fixing memory and CPU problems. )

內(nèi)存碎片問題是腳本語言可能不是一個長期運(yùn)行進(jìn)程的好主意

1.2 從開始就讓它工作(Just Work Baby)

如果不管你是什么文件系統(tǒng),是什么操作系統(tǒng),什么應(yīng)用程序所使用。該產(chǎn)品應(yīng)始終只是要能工作。

在所支持的種類繁多的平臺上,分析遇到的各種錯誤, Python 幫助他們進(jìn)行快速的迭代。

1.3 早發(fā)布(Release Early)

在一天內(nèi)進(jìn)行編碼并發(fā)布它,使用 Python 很容易做到

1.4 在循環(huán)內(nèi)使用 C ,優(yōu)化 CPU 是容易的(Use C for Inner Loops, Optimizing CPU is easy)

是一種解決速度太慢的問題的方法。

優(yōu)化內(nèi)部循環(huán),以減少 CPU 時間。

在 Python 中循環(huán)與 C 中相比,多消耗 44% 時間

Python 的虛擬機(jī)字節(jié)碼調(diào)度是很慢。

有許多工具調(diào)優(yōu) CPU 。

CPU 優(yōu)化通常限于小代碼段

1.5 輪詢不容易擴(kuò)展(Polling 30 million clients all over the world doesn’t scale)

建立一個 HTTP 通知結(jié)構(gòu),以避免客戶端輪詢服務(wù)器。

1.6 自定義內(nèi)存分配器,優(yōu)化內(nèi)存很困難

曾經(jīng)有一段時間***的問題??梢允褂玫拇罅績?nèi)存但內(nèi)存永遠(yuǎn)不會被釋放。對于大型同步他們可以使用最多 1.5GB 的,現(xiàn)在他們很少使用超過 100MB 的。

很難,因為:

很少有工具為 Python 和 C 優(yōu)化內(nèi)存

內(nèi)存膨脹有很多的原因:在 Python 和 C 代碼內(nèi)存泄漏,內(nèi)存碎片,內(nèi)存使用效率不高。

固定內(nèi)存的低效率沒有明顯的幫助。他們認(rèn)為有一個內(nèi)存泄漏,但沒有。

問題變成了內(nèi)存碎片。內(nèi)存碎片是發(fā)生在不同大小的內(nèi)存塊是不斷被刪除和分配。什么情況是連續(xù)的內(nèi)存塊可以不再進(jìn)行分配。 CPython 沒有一個垃圾收集器,所以所有的內(nèi)存根本無法分配和堆內(nèi)存不斷增長

解決辦法是建立一個自定義分配器。該文件的元數(shù)據(jù)對象時,做了很多的增長轉(zhuǎn)移,所以明顯的成果是在 C 中使用 mmap 創(chuàng)建自定義分配器。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

標(biāo)題名稱:DropBox使用Python的經(jīng)驗有哪些
分享網(wǎng)址:http://www.muchs.cn/article10/ishgdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、移動網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、網(wǎng)站策劃做網(wǎng)站、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站