Python将byte数组转换为int,pythonbyte数组int,代码```pythoni
Python将byte数组转换为int,pythonbyte数组int,代码```pythoni
代码```pythonimport structimport ctypes
def 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).value
def 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)
结果 ```pythonnumber = 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爬虫-爬取百度贴吧帖子加图片,,None
- python 使用socket远程发送命令并获得执行结果,pythonso
- python获取文件夹大小的代码,python获取文件夹,import o
- 创建openstack云主机,创建openstack云,#coding:utf-
- 自定义logging,,#!/usr/bin/e
- 常用的Python模拟登陆类,支持cookie保存,pythoncookie,No
- python 时间处理,python处理,在实际中遇到一个时间处理
- python在windows锁屏的代码,pythonwindows锁屏,python在windo
- 二叉树遍历,二叉树遍,#B treeclass
- python中使用MD5加密字符串,pythonmd5,使用MD5进行加密非常
评论关闭