Python bytearray to GBytes conversion is very slow
Submitted by Bug flys
Link to original bug (#766716)
Description
The conversion from bytearray to GBytes is very slow. On the other hand, the conversion from bytes to GBytes is fast.
bytes -> GBytes is over 100x faster than bytearray -> GBytes.
test code:
from gi.repository import GLib
import time
data_b = b" "* 2**24
t0 = time.time()
data_ba = bytearray(data_b)
t1 = time.time()
gbyte = GLib.Bytes(data_b)
t2 = time.time()
gbyte2 = GLib.Bytes(data_ba)
t3 = time.time()
data_bback = bytes(data_ba)
t4 = time.time()
print("Data size:", len(data_b))
print("bytes -> bytearray:", t1 - t0)
print("bytes -> GBytes: ", t2 - t1)
print("bytearray -> GBytes: ", t3 - t2)
print("bytearray -> bytes: ", t4 - t3)
Edited by Christoph Reiter