AMF--pyamf 协议性能测试
来源:互联网 发布:055 台湾知乎 编辑:程序博客网 时间:2024/05/16 05:03
下面的测试代码是运行在苹果机上,I5处理器,2.3GHz
处理的原始数据约为1k。测试一秒钟可以跑多少次AMF3的编码。
#! /usr/bin/env python#coding=utf-8import timeimport pyamftest_data = { 'baihe': { 'name': unicode('百合', 'utf-8'), 'say': unicode('清新,淡雅,花香', 'utf-8'), 'grow_time': 0.5, 'fruit_time': 0.5, 'super_time': 0.5, 'total_time': 1, 'buy':{'gold':2, } , 'harvest_fruit': 1, 'harvest_super': 1, 'sale': 1, 'level_need': 0, 'experience' : 2, 'exp_fruit': 1, 'exp_super': 1, 'used': True, }, '1':{ 'interval' : 0.3, 'probability' : { '98': {'chips' : (5, 25), }, '2' : {'gem' : (1,1), }, }, }, '2':{ 'unlock' : {'chips':1000, 'FC':10,}, 'interval' : 12, 'probability' : { '70': {'chips' : (120, 250), }, '20': {'gem' : (1,1), }, '10': {'gem' : (2,2), }, }, }, 'one':{ '10,5' :{'id':'m01', 'Y':1, 'msg':u'在罐子里发现了一个银币!',}, '3,7' :{'id':'m02', 'Y':10,'msg':u'发现了十个银币!好大一笔钱!',}, '15,5' :{'id':'m03', 'Y':2, 'msg':u'一只老鼠跑了过去',}, '7,4' :{'id':'m04', 'Y':4, 'msg':u'发现了四个生锈的银币……',}, '2,12' :{'id':'m05', 'Y':6, 'msg':u'六个闪亮的银币!',}, }, }start_time = time.time()print "start_time:", start_timej = 1while 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 : breakprint "loop_num:", jprint "end_time: ",end_timeprint data_length
测试结果如下:
start_time: 1343897700.92
loop_num: 6805
end_time: 1343897701.92
656
可以看出,pyamf编码的效率并不高,单纯从序列化角度讲,cPickle的dumps()在协议1时,效率是pyamf的5倍多。
但是pyamf的压缩比要比pickle.dumps()高出20%以上。
- AMF--pyamf 协议性能测试
- 基于AMF协议的Flex性能测试
- AMF协议
- AMF协议
- AMF协议
- AMF协议
- AMF协议
- AMF协议
- AMF协议
- amf协议
- AMF协议
- AMF协议简介
- AMF协议概念简述
- python--struct, cPickle, pyamf性能对比
- pickle 协议性能测试
- Flash AMF协议的特点
- Flash AMF协议的特点
- RTMP协议中的AMF数据
- Oracle创建实例
- find . -name '*abc*'
- 人工蜂群算法源代码的获取
- 通用CSS Hack
- UVA 算法竞赛入门 GettingStarted 解题报告 (下)
- AMF--pyamf 协议性能测试
- GridView详解(1),(2),(3)
- easyUI Dialog
- Linux下运行windows程序----------MinGW32
- 初探android之手电筒
- easyui 分页功能展示
- android中的网络通信(五) 通过web service编程(二) 号码归属地查询
- 网络编程遇到的一些问题及答案
- 闪回的特性