From 9a7fe54398d200074830c34815a94d1d91bfebdc Mon Sep 17 00:00:00 2001 From: Dohyeon Lee Date: Fri, 27 Sep 2024 20:07:29 +0900 Subject: [PATCH 1/3] Use inplace subtract in Delta encoding --- numcodecs/delta.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/numcodecs/delta.py b/numcodecs/delta.py index 624a36df..1c78fdb8 100644 --- a/numcodecs/delta.py +++ b/numcodecs/delta.py @@ -64,7 +64,7 @@ def encode(self, buf): enc[0] = arr[0] # compute differences - enc[1:] = np.diff(arr) + np.subtract(arr[1:], arr[0:-1], out = enc[1:]) return enc From 64b2bc0011f100ac6d50e16c9ed286a852a024d2 Mon Sep 17 00:00:00 2001 From: Dohyeon Lee Date: Fri, 27 Sep 2024 20:46:09 +0900 Subject: [PATCH 2/3] ruff reformatting --- numcodecs/delta.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/numcodecs/delta.py b/numcodecs/delta.py index 1c78fdb8..8b678a52 100644 --- a/numcodecs/delta.py +++ b/numcodecs/delta.py @@ -64,7 +64,7 @@ def encode(self, buf): enc[0] = arr[0] # compute differences - np.subtract(arr[1:], arr[0:-1], out = enc[1:]) + np.subtract(arr[1:], arr[0:-1], out=enc[1:]) return enc From 6f408dec754928d5fc6121d5aaae1391f2ab1d48 Mon Sep 17 00:00:00 2001 From: Dohyeon Lee Date: Thu, 10 Oct 2024 10:06:04 +0900 Subject: [PATCH 3/3] Add a comment explaining use of `subtract` for speed --- numcodecs/delta.py | 1 + 1 file changed, 1 insertion(+) diff --git a/numcodecs/delta.py b/numcodecs/delta.py index 8b678a52..d7760cd1 100644 --- a/numcodecs/delta.py +++ b/numcodecs/delta.py @@ -64,6 +64,7 @@ def encode(self, buf): enc[0] = arr[0] # compute differences + # using np.subtract for in-place operations np.subtract(arr[1:], arr[0:-1], out=enc[1:]) return enc