您好,登錄后才能下訂單哦!
DropBox使用Python的經驗有哪些,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
DropBox 使用 Python 的經驗分享:
1.1 Use Python
Dropbox 的 99.9% 的代碼是用 Python 寫的。 Python 使用在服務器端、桌面的客戶端、網站控制邏輯,后端的 API 和分析
在 Android 平臺,由于內存的限制不能使用 Python
使用 Python 語言運行單一的代碼。通過使用 PyObjs , WxPython , types , py2exe , py2ap , PyWin32 等工具,讓 Dropbox 運行在 Windows , Mac 和 Linux 系統
優點:
開發人員通過 Python 互相溝通和表達思想
簡單易學,易于閱讀,易于編寫,新人容易上手
缺點:
別傻了
它消耗太多的內存并且運行的太慢。在服務器端不是大問題,只要買大的機器就行。但在客戶端,你別指望讓老的 Power PC 用戶升級設備
Python 和 C 混合編程會產生問題,因為它很難跨越語言邊界輪廓想象你使用固定內存和 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. )
內存碎片問題是腳本語言可能不是一個長期運行進程的好主意
1.2 從開始就讓它工作 (Just Work Baby)
如果不管你是什么文件系統,是什么操作系統,什么應用程序所使用。該產品應始終只是要能工作。
在所支持的種類繁多的平臺上,分析遇到的各種錯誤, Python 幫助他們進行快速的迭代。
1.3 早發布 (Release Early)
在一天內進行編碼并發布它,使用 Python 很容易做到
1.4 在循環內使用 C ,優化 CPU 是容易的 (Use C for Inner Loops, Optimizing CPU is easy)
是一種解決速度太慢的問題的方法。
優化內部循環,以減少 CPU 時間。
在 Python 中循環與 C 中相比,多消耗 44% 時間
Python 的虛擬機字節碼調度是很慢。
有許多工具調優 CPU 。
CPU 優化通常限于小代碼段
1.5 輪詢不容易擴展 (Polling 30 million clients all over the world doesn’t scale)
建立一個 HTTP 通知結構,以避免客戶端輪詢服務器。
1.6 自定義內存分配器,優化內存很困難
曾經有一段時間***的問題。可以使用的大量內存但內存永遠不會被釋放。對于大型同步他們可以使用最多 1.5GB 的,現在他們很少使用超過 100MB 的。
很難,因為:
很少有工具為 Python 和 C 優化內存
內存膨脹有很多的原因:在 Python 和 C 代碼內存泄漏,內存碎片,內存使用效率不高。
固定內存的低效率沒有明顯的幫助。他們認為有一個內存泄漏,但沒有。
問題變成了內存碎片。內存碎片是發生在不同大小的內存塊是不斷被刪除和分配。什么情況是連續的內存塊可以不再進行分配。 CPython 沒有一個垃圾收集器,所以所有的內存根本無法分配和堆內存不斷增長
解決辦法是建立一個自定義分配器。該文件的元數據對象時,做了很多的增長轉移,所以明顯的成果是在 C 中使用 mmap 創建自定義分配器。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。