diff options
author | Viktor Velichkin <avisom@yandex.ru> | 2022-05-31 22:12:15 +0300 |
---|---|---|
committer | Beno�t Ganne <bganne@cisco.com> | 2022-06-01 14:36:40 +0000 |
commit | 7c3096dac7c96b0c9b0667dcf237f6f9a21c1505 (patch) | |
tree | 04b50727df8a0da92e34b25a5d3905fcf70e62f1 /src/vpp-api | |
parent | 321bd106a64bdd6c051579f58e111f71c2c7e7d6 (diff) |
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
Diffstat (limited to 'src/vpp-api')
-rw-r--r-- | src/vpp-api/python/vpp_papi/vpp_serializer.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/vpp-api/python/vpp_papi/vpp_serializer.py b/src/vpp-api/python/vpp_papi/vpp_serializer.py index a99e16aa8f9..d7da457ea1a 100644 --- a/src/vpp-api/python/vpp_papi/vpp_serializer.py +++ b/src/vpp-api/python/vpp_papi/vpp_serializer.py @@ -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 |