From db436b7a10a38438a9a7f50349ddb41b112c3312 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 24 Sep 2022 13:24:49 -1000 Subject: [PATCH] feat: improve unmarshall performance (#35) --- src/dbus_fast/_private/unmarshaller.py | 76 ++++++++++++++++++++------ tests/test_marshaller.py | 66 ++++++++++++---------- 2 files changed, 95 insertions(+), 47 deletions(-) diff --git a/src/dbus_fast/_private/unmarshaller.py b/src/dbus_fast/_private/unmarshaller.py index e82e796..47b7c3b 100644 --- a/src/dbus_fast/_private/unmarshaller.py +++ b/src/dbus_fast/_private/unmarshaller.py @@ -17,17 +17,25 @@ from .constants import ( HeaderField, ) +IS_LITTLE_ENDIAN = sys.byteorder == "little" +IS_BIG_ENDIAN = sys.byteorder == "big" + MAX_UNIX_FDS = 16 UNPACK_SYMBOL = {LITTLE_ENDIAN: "<", BIG_ENDIAN: ">"} UNPACK_LENGTHS = {BIG_ENDIAN: Struct(">III"), LITTLE_ENDIAN: Struct("