papi: vpp_serializer.py - replace slow bytes() with fast bytearray()

https://docs.python.org/3/library/stdtypes.html

"if concatenating bytes objects, you can similarly use bytes.join() or io.BytesIO, or you can do in-place concatenation with a bytearray object. bytearray objects are mutable and have an efficient overallocation mechanism"

Type: improvement

Signed-off-by: Viktor Velichkin <avisom@yandex.ru>
Change-Id: Id20d337f909cce83fcd9e08e8049bb0bf5970fbc
This commit is contained in:
Viktor Velichkin
2022-05-31 22:12:15 +03:00
committed by Beno�t Ganne
parent 321bd106a6
commit 7c3096dac7

View File

@ -262,10 +262,10 @@ class FixedList(Packer):
len(list), self.num
)
)
b = bytes()
b = bytearray()
for e in list:
b += self.packer.pack(e)
return b
return bytes(b)
def unpack(self, data, offset=0, result=None, ntc=False):
# Return a list of arguments
@ -311,10 +311,10 @@ class VLAList(Packer):
return b"".join(lst)
return bytes(lst)
b = bytes()
b = bytearray()
for e in lst:
b += self.packer.pack(e)
return b
return bytes(b)
def unpack(self, data, offset=0, result=None, ntc=False):
# Return a list of arguments
@ -355,10 +355,10 @@ class VLAList_legacy(Packer):
if self.packer.size == 1:
return bytes(list)
b = bytes()
b = bytearray()
for e in list:
b += self.packer.pack(e)
return b
return bytes(b)
def unpack(self, data, offset=0, result=None, ntc=False):
total = 0
@ -627,7 +627,7 @@ class VPPType(Packer):
def pack(self, data, kwargs=None):
if not kwargs:
kwargs = data
b = bytes()
b = bytearray()
# Try one of the format functions
if data and conversion_required(data, self.name):
@ -651,7 +651,7 @@ class VPPType(Packer):
else:
b += self.packers[i].pack(arg, kwargs)
return b
return bytes(b)
def unpack(self, data, offset=0, result=None, ntc=False):
# Return a list of arguments