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