AMF pyamf 協議效能測試

2021-06-08 05:50:42 字數 1421 閱讀 5684

下面的測試**是執行在蘋果機上,i5處理器,2.3ghz

處理的原始資料約為1k。測試一秒鐘可以跑多少次amf3的編碼。

#! /usr/bin/env python

#coding=utf-8

import time

import pyamf

test_data = ,

'harvest_fruit': 1,

'harvest_super': 1,

'sale': 1,

'level_need': 0,

'experience' : 2,

'exp_fruit': 1,

'exp_super': 1,

'used': true,

},'1':,

'2' : ,

},},

'2':,

'interval' : 12,

'probability' : ,

'20': ,

'10': ,

},},

'one':,

'3,7' :,

'15,5' :,

'7,4' :,

'2,12' :,

},

}start_time = time.time()

print "start_time:", start_time

j = 1

while true:

j += 1

encoder = pyamf.get_encoder(pyamf.amf3)

stream = encoder.stream

encoder.writeelement(test_data)

amf_data = stream.getvalue()

data_length = len(amf_data)

end_time = time.time()

if end_time - start_time >= 1 :

break

print "loop_num:", j

print "end_time: ",end_time

print data_length

測試結果如下:

start_time: 1343897700.92

loop_num: 6805

end_time:   1343897701.92

656可以看出,pyamf編碼的效率並不高,單純從序列化角度講,cpickle的dumps()在協議1時,效率是pyamf的5倍多。

但是pyamf的壓縮比要比pickle.dumps()高出20%以上。

pickle 協議效能測試

先看文件 pickle.dumps obj protocol return the pickled representation of the object as a string,instead of writing it to a file.if the protocol parameter i...

效能測試之協議分析

最近在論壇上的一些朋友問指令碼方面的問題,比如用lr的winsock協議錄製的指令碼遇回放過程中遇到如下錯誤 action.c 20 error callconnect can t assign requested address.error code 10049.action.c 20 error...

有關效能測試協議選擇問題

長時間不寫文字,就會詞窮,不知道該如何下手。其實深刻反省一下是自己思路不明確或者不夠清晰,所以在工作中還是需要多多鍛鍊自己,事情來了不要盲目的想著先完成任務,而是要弄清楚在下手。做效能時總是會遇到不知道要用什麼樣的協議去錄製指令碼,有時候問開發他們也不懂,像我們不懂開發的 一樣,甚是苦惱。這個時候只...