Python bytes 与bytearray 在累加时 性能对比

bytearray 可变
bytes 不可变

经过测试 发现 bytearray 再累加方面 要比 bytes 快非常多
另外注意一下 :bytearray.extend 比 .append 好用很多


a1 = [1, 2, 3, 4]
a2 = [5, 6, 7, 8]
b1 = bytes(a1)
b2 = bytes(a2)
b3 = b1 + b2
print(b3)

b3 = bytearray()
b3.extend(b1)
b3.extend(b2)
print(b3[0:6], type(b3[0:6]))

b3 = bytes()

start = time.perf_counter()
for i in range(1000):
    b3 = b3 + b1 + b2
end = time.perf_counter()
print("k1", str(end - start), len(b3))

b3 = bytearray()
start = time.perf_counter()
for i in range(1000):
    b3.extend(b1)
    b3.extend(b2)
b3 = bytes(b3)
end = time.perf_counter()
print("k2", str(end - start), len(b3))

输出结果

b'\x01\x02\x03\x04\x05\x06\x07\x08'
16909060
bytearray(b'\x01\x02\x03\x04\x05\x06') <class 'bytearray'>
16909060
k1 0.002623792000000069 8000
k2 0.0005960599999998983 8000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值