feat: add unpack variants benchmark (#94)
This commit is contained in:
parent
33374efa92
commit
eb966fd7cf
60
bench/unpack_variants.py
Normal file
60
bench/unpack_variants.py
Normal file
@ -0,0 +1,60 @@
|
||||
import timeit
|
||||
|
||||
from dbus_fast import Variant, unpack_variants
|
||||
|
||||
message = {
|
||||
"/org/bluez/hci0": {
|
||||
"org.bluez.Adapter1": {
|
||||
"Address": Variant("s", "00:E0:4C:2A:25:63"),
|
||||
"AddressType": Variant("s", "public"),
|
||||
"Alias": Variant("s", "BlueZ 5.63"),
|
||||
"Class": Variant("u", 2883584),
|
||||
"Discoverable": Variant("b", False),
|
||||
"DiscoverableTimeout": Variant("u", 180),
|
||||
"Discovering": Variant("b", True),
|
||||
"Modalias": Variant("s", "usb:v1D6Bp0246d053F"),
|
||||
"Name": Variant("s", "BlueZ 5.63"),
|
||||
"Pairable": Variant("b", False),
|
||||
"PairableTimeout": Variant("u", 0),
|
||||
"Powered": Variant("b", True),
|
||||
"Roles": Variant("as", ["central", "peripheral"]),
|
||||
"UUIDs": Variant(
|
||||
"as",
|
||||
[
|
||||
"0000110e-0000-1000-8000-00805f9b34fb",
|
||||
"0000110a-0000-1000-8000-00805f9b34fb",
|
||||
"00001200-0000-1000-8000-00805f9b34fb",
|
||||
"0000110b-0000-1000-8000-00805f9b34fb",
|
||||
"00001108-0000-1000-8000-00805f9b34fb",
|
||||
"0000110c-0000-1000-8000-00805f9b34fb",
|
||||
"00001800-0000-1000-8000-00805f9b34fb",
|
||||
"00001801-0000-1000-8000-00805f9b34fb",
|
||||
"0000180a-0000-1000-8000-00805f9b34fb",
|
||||
"00001112-0000-1000-8000-00805f9b34fb",
|
||||
],
|
||||
),
|
||||
},
|
||||
"org.bluez.GattManager1": {},
|
||||
"org.bluez.LEAdvertisingManager1": {
|
||||
"ActiveInstances": Variant("y", 0),
|
||||
"SupportedIncludes": Variant(
|
||||
"as", ["tx-power", "appearance", "local-name"]
|
||||
),
|
||||
"SupportedInstances": Variant("y", 4),
|
||||
"SupportedSecondaryChannels": Variant("as", ["1M", "2M", "Coded"]),
|
||||
},
|
||||
"org.bluez.Media1": {},
|
||||
"org.bluez.NetworkServer1": {},
|
||||
"org.freedesktop.DBus.Introspectable": {},
|
||||
"org.freedesktop.DBus.Properties": {},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
def unpack_managed_objects():
|
||||
unpack_variants(message)
|
||||
|
||||
|
||||
count = 3000000
|
||||
time = timeit.Timer(unpack_managed_objects).timeit(count)
|
||||
print(f"Unpacked {count} get managed objects messages took {time} seconds")
|
||||
Loading…
x
Reference in New Issue
Block a user