32 lines
1012 B
Python
32 lines
1012 B
Python
import io
|
|
import timeit
|
|
|
|
from dbus_fast._private.unmarshaller import Unmarshaller
|
|
|
|
# cythonize -X language_level=3 -a -i src/dbus_fast/_private/unmarshaller.py
|
|
|
|
|
|
bluez_rssi_message = (
|
|
"6c04010134000000e25389019500000001016f00250000002f6f72672f626c75657a2f686369302f6465"
|
|
"765f30385f33415f46325f31455f32425f3631000000020173001f0000006f72672e667265656465736b"
|
|
"746f702e444275732e50726f7065727469657300030173001100000050726f706572746965734368616e"
|
|
"67656400000000000000080167000873617b73767d617300000007017300040000003a312e3400000000"
|
|
"110000006f72672e626c75657a2e446576696365310000000e0000000000000004000000525353490001"
|
|
"6e00a7ff000000000000"
|
|
)
|
|
|
|
|
|
stream = io.BytesIO(bytes.fromhex(bluez_rssi_message))
|
|
|
|
unmarshaller = Unmarshaller(stream)
|
|
|
|
|
|
def unmarhsall_bluez_rssi_message():
|
|
stream.seek(0)
|
|
unmarshaller.unmarshall()
|
|
|
|
|
|
count = 3000000
|
|
time = timeit.Timer(unmarhsall_bluez_rssi_message).timeit(count)
|
|
print(f"Unmarshalling {count} bluetooth rssi messages took {time} seconds")
|