Skip to content

Commit 67fe164

Browse files
committed
faster zlib decompression
1 parent f063987 commit 67fe164

File tree

4 files changed

+30
-12
lines changed

4 files changed

+30
-12
lines changed

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ keywords = [
3636
dependencies = [
3737
"canmatrix[arxml,dbc]>=1.2",
3838
"isal; platform_machine == 'x86_64' or platform_machine == 'AMD64'",
39+
"deflate; platform_machine == 'x86_64' or platform_machine == 'AMD64'",
3940
"lxml>=4.9.3",
4041
"lz4",
4142
"numexpr>=2.10.0",

src/asammdf/blocks/mdf_v4.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,15 @@
158158
CRYPTOGRAPHY_AVAILABLE = False
159159

160160
try:
161-
from isal.isal_zlib import decompress
161+
from deflate import zlib_decompress
162+
def decompress(data, bufsize):
163+
return zlib_decompress(data, originalsize=bufsize)
164+
162165
except ImportError:
163-
from zlib import decompress
166+
try:
167+
from isal.isal_zlib import decompress
168+
except ImportError:
169+
from zlib import decompress
164170

165171
if TYPE_CHECKING:
166172
from ..mdf import MDF

src/asammdf/blocks/v4_blocks.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,24 @@
5050
except:
5151
pass
5252

53-
try:
54-
from isal.isal_zlib import compress, decompress
53+
COMPRESSION_LEVEL = 2
5554

56-
COMPRESSION_LEVEL = 2
55+
try:
56+
from deflate import zlib_decompress
57+
def decompress(data, bufsize):
58+
return zlib_decompress(data, originalsize=bufsize)
5759

5860
except ImportError:
59-
from zlib import ( # type: ignore[assignment, no-redef, unused-ignore]
60-
compress,
61-
decompress,
62-
)
61+
try:
62+
from isal.isal_zlib import compress, decompress
63+
64+
except ImportError:
65+
from zlib import ( # type: ignore[assignment, no-redef, unused-ignore]
66+
compress,
67+
decompress,
68+
)
6369

64-
COMPRESSION_LEVEL = 1
70+
COMPRESSION_LEVEL = 1
6571

6672
try:
6773
from sympy import lambdify, symbols

src/asammdf/mdf.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,14 @@
3232
from typing_extensions import Any, LiteralString, Never, overload, TypedDict, Unpack
3333

3434
try:
35-
from isal.isal_zlib import decompress
35+
from deflate import zlib_decompress
36+
def decompress(data, bufsize):
37+
return zlib_decompress(data, originalsize=bufsize)
3638
except ImportError:
37-
from zlib import decompress
39+
try:
40+
from isal.isal_zlib import decompress
41+
except ImportError:
42+
from zlib import decompress
3843
import tempfile
3944

4045
from lz4.frame import compress as lz_compress

0 commit comments

Comments
 (0)