Python将byte数组转换为int,pythonbyte数组int,代码import str
Python将byte数组转换为int,pythonbyte数组int,代码import str
代码
import structimport ctypesdef test_struct(buf, offset): return struct.unpack_from("I", buf, offset)[0]def test_ctypes(buf, offset): return ctypes.c_uint32.from_buffer(buf, offset).valuedef test_multi(buf, offset): return buf[offset] + (buf[offset+1] << 8) + (buf[offset+2] << 16) +(buf[offset+3] << 24)buf_w = bytearray(5)buf_w[1] = 1buf_r = buffer(buf_w)if __name__ == '__main__': import timeit t1 = timeit.Timer("test_struct(buf_r, 1)", "from __main__ import test_struct, buf_r") t2 = timeit.Timer("test_ctypes(buf_w, 1)", "from __main__ import test_ctypes, buf_w") t3 = timeit.Timer("test_multi(buf_w, 1)", "from __main__ import test_multi, buf_w") print t1.timeit(number=1000) print t2.timeit(number=1000) print t3.timeit(number=1000)
结果
number = 100000.00819587707520.0125491619110.0112121105194number = 10000.000873088836670.001257896423340.00110197067261number = 1000.0000917911529541 # 9.17911529541e-050.0001339912414550.00011420249939number = 101.69277191162e-052.19345092773e-051.69277191162e-05number = 11.00135803223e-051.00135803223e-055.96046447754e-06
相关内容
- 三种Python下载url并保存文件的代码,三种pythonurl代码
- Python插入排序和堆排序,python排序堆排序,插入排序,它
- 在python中使用elasticsearch做为搜索引擎。,,一直想找一
- 初学python的while示例,pythonwhile示例,用wile写菜单驱动程
- Python基础:画菱形,python画菱形,上次随便折腾了个画菱
- Python汉字转拼音,python汉字拼音,使用字典和转换程序
- Python打印代码执行堆栈,python打印堆栈,import trace
- 用xapian跟mmseg实现中文搜索,xapianmmseg,xapian是一个开源
- 利用 xapian 建立索引 (python 版),xapianpython,首先弄明白几
- Python去除list中的重复元素的最简单办法,python去除li
评论关闭