摘要:然后看出來(lái)的文件,恩,浪費(fèi)我的時(shí)間然后不死心結(jié)果還是次恩,真是雞肋啊
總之網(wǎng)站上說(shuō)得很好啦:http://msgpack.org/,又快,生成的文件又小等等,總之就是很牛逼的救世主咯
因?yàn)槿淌懿涣?pickle 的速度,所以嘗試切換一下。
import pickle import msgpack import gc a = list(range(10000*10000)) def dump1(): with open("1", "wb") as f: pickle.dump(a, f) def dump2(): with open("2", "wb") as f: msgpack.dump(a, f) def dump3(): gc.disable() with open("2", "wb") as f: msgpack.dump(a, f) gc.enable()
然后測(cè)速,有 dump3 的原因是官方網(wǎng)站說(shuō)關(guān)閉gc有奇效:
CPython"s GC starts when growing allocated object. This means unpacking may cause useless GC. You can use gc.disable() when unpacking large message.
恩,先看測(cè)試結(jié)果(測(cè)試了10次):
dump1: 1 loop, best of 3: 3.98 s per loop dump2: 1 loop, best of 10: 5.22 s per loop dump3: 1 loop, best of 10: 5.13 s per loop
恩,徹底打臉了。關(guān)閉gc也沒(méi)有奇效。
然后看dump出來(lái)的文件 (=,=b):
-rw-r--r-- 1 chendx staff 477M 8 11 18:43 1 -rw-r--r-- 1 chendx staff 477M 8 11 18:49 2
恩,浪費(fèi)我的時(shí)間……
然后不死心
def load1(): with open("1", "rb") as f: pickle.load(f) def load2(): with open("2", "rb") as f: msgpack.load(f)
結(jié)果(還是10次)
load1: 1 loop, best of 10: 6.78 s per loop load2: 1 loop, best of 10: 5.91 s per loop
恩,真是雞肋啊
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/45488.html
摘要:已獲原作者授權(quán)原系列地址簡(jiǎn)介提供了一系列的對(duì)話框可以用來(lái)顯示文本消息提示警告信息和錯(cuò)誤信息選擇文件或顏色其他一些簡(jiǎn)單的對(duì)話框還可以請(qǐng)求用戶輸入文本整數(shù)或數(shù)字下面是一個(gè)典型的對(duì)話框使用場(chǎng)景在應(yīng)用程序中經(jīng)常會(huì)有退出按鈕如下點(diǎn)擊按鈕會(huì)彈出一個(gè)確認(rèn) 已獲原作者授權(quán). 原系列地址: Python Tkinter 簡(jiǎn)介 Tkinter 提供了一系列的對(duì)話框, 可以用來(lái)顯示文本消息, 提示警告信息...
摘要:什么是是一種在單個(gè)連接上進(jìn)行全雙工通信的協(xié)議。短輪詢配段代碼,靜態(tài)服務(wù)中間件用來(lái)返回靜態(tài)文件當(dāng)前價(jià)格是元獲取最新價(jià)格接口客戶端不停的發(fā)送請(qǐng)求,去服務(wù)端獲取最新價(jià)格。它通過(guò)連接到一個(gè)服務(wù)器,以格式接收事件不關(guān)閉連接。 什么是WebSocket? WebSocket是一種在單個(gè)TCP連接上進(jìn)行全雙工通信的協(xié)議。這里我們發(fā)現(xiàn)了一個(gè)有趣的詞:全雙工,那我們就來(lái)簡(jiǎn)單了解下通信方式有哪些! 單工 ...
摘要:什么是是一種在單個(gè)連接上進(jìn)行全雙工通信的協(xié)議。短輪詢配段代碼,靜態(tài)服務(wù)中間件用來(lái)返回靜態(tài)文件當(dāng)前價(jià)格是元獲取最新價(jià)格接口客戶端不停的發(fā)送請(qǐng)求,去服務(wù)端獲取最新價(jià)格。它通過(guò)連接到一個(gè)服務(wù)器,以格式接收事件不關(guān)閉連接。 什么是WebSocket? WebSocket是一種在單個(gè)TCP連接上進(jìn)行全雙工通信的協(xié)議。這里我們發(fā)現(xiàn)了一個(gè)有趣的詞:全雙工,那我們就來(lái)簡(jiǎn)單了解下通信方式有哪些! 單工 ...
摘要:本文主要介紹了在框架中使用實(shí)現(xiàn)簡(jiǎn)單服務(wù)器的過(guò)程。在網(wǎng)絡(luò)通信中,需要發(fā)送二進(jìn)制流數(shù)據(jù)函數(shù)負(fù)責(zé)數(shù)據(jù)組包,即將數(shù)據(jù)按照規(guī)定的傳輸協(xié)議組合起來(lái)函數(shù)負(fù)責(zé)數(shù)據(jù)拆包,即按照規(guī)定的協(xié)議將數(shù)據(jù)拆分開來(lái)。不多說(shuō),具體實(shí)現(xiàn)代碼咱們來(lái)看一下。 本文主要介紹了在tornado框架中,使用tcpserver,tcpclient,struct.pack(),struct.unpack實(shí)現(xiàn)簡(jiǎn)單echo服務(wù)器的過(guò)程。 ...
閱讀 1010·2023-04-25 19:35
閱讀 2672·2021-11-22 09:34
閱讀 3703·2021-10-09 09:44
閱讀 1730·2021-09-22 15:25
閱讀 2944·2019-08-29 14:00
閱讀 3378·2019-08-29 11:01
閱讀 2606·2019-08-26 13:26
閱讀 1741·2019-08-23 18:08