Web安全对象酸洗/取消拾取

rencode的Python项目详细描述


rencode

rencode模块类似于bittorrent项目中的bencode。对于具有许多小元素的复杂、异构数据结构,r编码占用的空间比b编码要少得多:

>>> len(rencode.dumps({'a':0, 'b':[1,2], 'c':99}))
13

>>> len(bencode.bencode({'a':0, 'b':[1,2], 'c':99}))
26

这个版本的rencode是cython中的一个完全重写,试图提高性能,而不是由petru paler,connelly barnes等人编写的纯python模块。

性能比较

用于这些结果的测试程序包含在存储库中: https://github.com/aresch/rencode/blob/master/tests/timetest.py

编码功能

test_encode_fixed_pos_int:
	rencode.pyx: 0.003s (+0.013s) 589.17%
	rencode.py:  0.016s

test_encode_int_int_size:
	rencode.pyx: 0.006s (+0.032s) 625.99%
	rencode.py:  0.038s

test_encode_int_long_long_size:
	rencode.pyx: 0.014s (+0.026s) 279.96%
	rencode.py:  0.040s

test_encode_int_short_size:
	rencode.pyx: 0.006s (+0.030s) 629.80%
	rencode.py:  0.036s

test_encode_str:
	rencode.pyx: 0.006s (+0.010s) 263.96%
	rencode.py:  0.017s

test_encode_dict:
	rencode.pyx: 0.135s (+0.302s) 324.68%
	rencode.py:  0.437s

test_encode_fixed_list:
	rencode.pyx: 0.012s (+0.025s) 307.78%
	rencode.py:  0.037s

test_encode_fixed_neg_int:
	rencode.pyx: 0.003s (+0.012s) 536.97%
	rencode.py:  0.015s

test_encode_fixed_dict:
	rencode.pyx: 0.046s (+0.105s) 331.07%
	rencode.py:  0.151s

test_encode_int_char_size:
	rencode.pyx: 0.005s (+0.029s) 687.64%
	rencode.py:  0.034s

test_encode_fixed_str:
	rencode.pyx: 0.003s (+0.011s) 438.07%
	rencode.py:  0.015s

test_encode_list:
	rencode.pyx: 0.148s (+0.228s) 253.68%
	rencode.py:  0.376s

test_encode_none:
	rencode.pyx: 0.004s (+0.011s) 386.06%
	rencode.py:  0.014s

test_encode_int_big_number:
	rencode.pyx: 0.011s (+0.019s) 264.32%
	rencode.py:  0.030s

test_encode_float_64bit:
	rencode.pyx: 0.003s (+0.011s) 416.19%
	rencode.py:  0.014s

test_encode_bool:
	rencode.pyx: 0.004s (+0.014s) 447.57%
	rencode.py:  0.018s

test_encode_float_32bit:
	rencode.pyx: 0.003s (+0.010s) 417.86%
	rencode.py:  0.014s

Encode functions totals:
	rencode.pyx: 0.412s (+0.888s) 315.49%
	rencode.py:  1.301s

解码功能

test_decode_fixed_list:
	rencode.pyx: 0.003s (+0.020s) 848.67%
	rencode.py:  0.022s

test_decode_int_long_long_size:
	rencode.pyx: 0.003s (+0.013s) 484.80%
	rencode.py:  0.016s

test_decode_dict:
	rencode.pyx: 0.267s (+0.406s) 251.81%
	rencode.py:  0.673s

test_decode_fixed_dict:
	rencode.pyx: 0.087s (+0.123s) 241.32%
	rencode.py:  0.211s

test_decode_float_32bit:
	rencode.pyx: 0.002s (+0.007s) 536.88%
	rencode.py:  0.009s

test_decode_int_big_number:
	rencode.pyx: 0.007s (+0.010s) 256.05%
	rencode.py:  0.017s

test_decode_int_char_size:
	rencode.pyx: 0.002s (+0.014s) 754.12%
	rencode.py:  0.016s

test_decode_fixed_neg_int:
	rencode.pyx: 0.001s (+0.004s) 389.03%
	rencode.py:  0.006s

test_decode_fixed_str:
	rencode.pyx: 0.009s (+0.009s) 199.78%
	rencode.py:  0.019s

test_decode_float_64bit:
	rencode.pyx: 0.002s (+0.007s) 540.17%
	rencode.py:  0.009s

test_decode_bool:
	rencode.pyx: 0.002s (+0.004s) 369.49%
	rencode.py:  0.006s

test_decode_fixed_pos_int:
	rencode.pyx: 0.002s (+0.004s) 368.96%
	rencode.py:  0.006s

test_decode_list:
	rencode.pyx: 0.019s (+0.247s) 1403.77%
	rencode.py:  0.266s

test_decode_none:
	rencode.pyx: 0.002s (+0.004s) 367.05%
	rencode.py:  0.006s

test_decode_int_short_size:
	rencode.pyx: 0.002s (+0.014s) 716.47%
	rencode.py:  0.016s

test_decode_str:
	rencode.pyx: 0.010s (+0.026s) 364.51%
	rencode.py:  0.036s

test_decode_int_int_size:
	rencode.pyx: 0.002s (+0.014s) 705.92%
	rencode.py:  0.016s

Decode functions totals:
	rencode.pyx: 0.421s (+0.926s) 319.79%
	rencode.py:  1.348s

总体功能

test_overall_encode:
	rencode.pyx: 0.069s (+0.120s) 274.42%
	rencode.py:  0.189s

test_overall_decode:
	rencode.pyx: 0.051s (+0.153s) 400.57%
	rencode.py:  0.204s

Overall functions totals:
	rencode.pyx: 0.120s (+0.273s) 327.98%
	rencode.py:  0.393s

作者

许可证

有关许可证信息,请参见COPYING

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java持久性和Foxpro   javajavax。命名。NameNotFoundException:com。javacodegeeks。实例服务AccountServiceRemote   java在不重复字符的情况下查找最长子字符串的长度   控制台Java runtine。执行官:不会改变路径   Java继承混乱,超类和子类成员变量同名   循环如何格式化在Java中循环的打印行   使用Jersey/Glassfish实现java正确的CDI注释   多线程Java创建一个连续线程数组   java根据特殊字符(逗号除外)验证字符串   安卓 JNI NewStringUTF调用了挂起的异常“java”。lang.NoSuchMethodError'   java在JSweet转换后运行脚本   java为什么$MockitoMock$实例没有被标识为mock?   用JavaJNA编写的密钥侦听器。无法停止线程   从Java代码创建的安卓视图包装在另一个视图中。为什么?   在另一个类中使用带有逻辑的JavaSwingGUI   java致命异常:Timer0?   java JavaFX在tableview中移动列   spring将jboss 6.0.0上的Hibernate 3.6升级为Hibernate 4.3.6,以获取java。lang.NoClassDefFoundError:org/hibernate/classic/Session   ImageView中的java图像是拉伸的   java我想扩展枚举和对象(通用)