Skip to content

Add backend parameter to detect_equilibration_window for optional numba dependencyupdate#10

Closed
xiki-tempula wants to merge 1 commit intofjclark:mainfrom
xiki-tempula:feat_numba
Closed

Add backend parameter to detect_equilibration_window for optional numba dependencyupdate#10
xiki-tempula wants to merge 1 commit intofjclark:mainfrom
xiki-tempula:feat_numba

Conversation

@xiki-tempula
Copy link

Summary

  • Added a backend parameter to detect_equilibration_window that allows choosing between "numba" (default) and "numpy" backends
  • Made numba an optional dependency - the code now works without numba installed
  • Added numba-accelerated parallel implementation for improved performance when numba is available
  • Both backends produce identical results

Motivation

This change allows users who don't have numba installed (or don't want to use it) to still use detect_equilibration_window. The numpy backend provides a pure Python/numpy implementation that works without any additional dependencies.

Changes

  • red/variance.py:
    • Made numba import optional with fallback
    • Added _optional_njit decorator that applies numba JIT only when available
    • Added _compute_variance_series_window_numpy - pure numpy implementation
    • Added _compute_variance_series_window_indexed - numba parallel implementation
    • Added backend parameter to get_variance_series_window
  • red/sse.py: Added backend parameter to get_sse_series_window
  • red/equilibration.py: Added backend parameter to detect_equilibration_window
  • red/tests/test_equilibration.py: Added test_detect_equilibration_window_backends to verify both backends produce identical results

Usage

# Use numba backend (default, faster when numba is available)
idx, g, ess = red.detect_equilibration_window(data=series, times=times, method="min_sse", backend="numba")

# Use numpy backend (no numba dependency required)
idx, g, ess = red.detect_equilibration_window(data=series, times=times, method="min_sse", backend="numpy")

@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 94.69027% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 99.19%. Comparing base (3744139) to head (d00b2b5).

Files with missing lines Patch % Lines
red/variance.py 94.59% 6 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##              main      #10      +/-   ##
===========================================
- Coverage   100.00%   99.19%   -0.81%     
===========================================
  Files           10       10              
  Lines          646      745      +99     
===========================================
+ Hits           646      739      +93     
- Misses           0        6       +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@codacy-production
Copy link

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
-0.81% (target: -1.00%) 94.69%
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (3744139) 646 646 100.00%
Head commit (d00b2b5) 745 (+99) 739 (+93) 99.19% (-0.81%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#10) 113 107 94.69%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

@fjclark
Copy link
Owner

fjclark commented Feb 2, 2026

Thanks very much for this! Before I review in detail, could you please comment on the speed differences?

If I run the tests on main, they take 22 seconds on my machine, but 18 minutes after your changes. If I run only test_variance.py, which you haven't changed, this takes 4 seconds on main but 2 mins 34 after these changes, though numba is still the default. Am I missing something? What speed improvements did you observe when you made these changes? Thanks.

@xiki-tempula
Copy link
Author

Thanks for flagging this - that's a significant slowdown and definitely not expected!
I've been investigating this and I'm unable to reproduce the issue on my machine. Running test_variance.py takes ~21 seconds for me, which is comparable to your 22 seconds on main. Even after clearing the numba cache and forcing recompilation, the tests complete in similar time.
I verified that:
_NUMBA_AVAILABLE is True
All functions decorated with @_optional_njit are correctly compiled as numba CPUDispatcher objects
The numba JIT compilation is working as expected
A few questions that might help debug this:
What numba version are you using? (python -c "import numba; print(numba.__version__)")
Is numba being detected? Could you check if from red.variance import _NUMBA_AVAILABLE; print(_NUMBA_AVAILABLE) returns True?
Are you running locally or on CI? The parallel numba implementation (parallel=True) can behave differently depending on CPU/threading configuration.
One theory: if numba fails to import for some reason on your machine, the _optional_njit decorator will fall back to pure Python, which would be dramatically slower. The original @_numba.njit would crash in that case, but my changes make it gracefully degrade.
If you can share your numba version and the output of the _NUMBA_AVAILABLE check, that would help narrow down what's happening. Happy to investigate further!

@fjclark
Copy link
Owner

fjclark commented Feb 10, 2026

Thanks!

I see this slow-down consistently:

  • On the CI (on ubuntu-latest, macos-latest, and windows-latest with all combinations of Python 3.9 - 3.12)
  • On my M4 Macbook Pro Sequoia
  • On my Ubuntu 22.04 workstation

On my ubuntu workstation:

What numba version are you using? (python -c "import numba; print(numba.version)")

Latest version: 0.63.1

Is numba being detected? Could you check if from red.variance import _NUMBA_AVAILABLE; print(_NUMBA_AVAILABLE) returns True?

Yes, this returns True.

Here's the full environment on my ubuntu workstation:

# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
_python_abi3_support      1.0                  hd8ed1ab_2    conda-forge
alsa-lib                  1.2.15.3             hb03c661_0    conda-forge
asttokens                 3.0.1              pyhd8ed1ab_0    conda-forge
attrs                     25.4.0             pyhcf101f3_1    conda-forge
babel                     2.17.0             pyhd8ed1ab_0    conda-forge
backports.zstd            1.3.0           py314h680f03e_0    conda-forge
backrefs                  5.8                pyhd8ed1ab_0    conda-forge
beautifulsoup4            4.14.3             pyha770c72_0    conda-forge
black                     26.1.0             pyh866005b_0    conda-forge
bleach                    6.3.0              pyhcf101f3_0    conda-forge
bleach-with-css           6.3.0                h5f6438b_0    conda-forge
brotli                    1.2.0                hed03a55_1    conda-forge
brotli-bin                1.2.0                hb03c661_1    conda-forge
brotli-python             1.2.0           py314h3de4e8d_1    conda-forge
bzip2                     1.0.8                hda65f42_8    conda-forge
ca-certificates           2026.1.4             hbd8a1cb_0    conda-forge
cairo                     1.18.4               he90730b_1    conda-forge
certifi                   2026.1.4           pyhd8ed1ab_0    conda-forge
cffi                      2.0.0           py314h4a8dc5f_1    conda-forge
cfgv                      3.5.0              pyhd8ed1ab_0    conda-forge
charset-normalizer        3.4.4              pyhd8ed1ab_0    conda-forge
click                     8.3.1              pyh8f84b5b_1    conda-forge
codecov                   2.1.13             pyhd8ed1ab_1    conda-forge
colorama                  0.4.6              pyhd8ed1ab_1    conda-forge
comm                      0.2.3              pyhe01879c_0    conda-forge
contourpy                 1.3.3           py314h97ea11e_4    conda-forge
coverage                  7.13.2          py314h67df5f8_0    conda-forge
cpython                   3.14.2          py314hd8ed1ab_101    conda-forge
cycler                    0.12.1             pyhcf101f3_2    conda-forge
cyrus-sasl                2.1.28               hd9c7081_0    conda-forge
dbus                      1.16.2               h24cb091_1    conda-forge
debugpy                   1.8.20          py314h42812f9_0    conda-forge
decorator                 5.2.1              pyhd8ed1ab_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
distlib                   0.4.0              pyhd8ed1ab_0    conda-forge
double-conversion         3.4.0                hecca717_0    conda-forge
exceptiongroup            1.3.1              pyhd8ed1ab_0    conda-forge
executing                 2.2.1              pyhd8ed1ab_0    conda-forge
filelock                  3.20.3             pyhd8ed1ab_0    conda-forge
font-ttf-dejavu-sans-mono 2.37                 hab24e00_0    conda-forge
font-ttf-inconsolata      3.000                h77eed37_0    conda-forge
font-ttf-source-code-pro  2.038                h77eed37_0    conda-forge
font-ttf-ubuntu           0.83                 h77eed37_3    conda-forge
fontconfig                2.15.0               h7e30c49_1    conda-forge
fonts-conda-ecosystem     1                             0    conda-forge
fonts-conda-forge         1                    hc364b38_1    conda-forge
fonttools                 4.61.1             pyh7db6752_0    conda-forge
freetype                  2.14.1               ha770c72_0    conda-forge
ghp-import                2.1.0              pyhd8ed1ab_2    conda-forge
graphite2                 1.3.14               hecca717_2    conda-forge
griffe                    1.15.0             pyhd8ed1ab_0    conda-forge
h2                        4.3.0              pyhcf101f3_0    conda-forge
harfbuzz                  12.3.2               h6083320_0    conda-forge
hpack                     4.1.0              pyhd8ed1ab_0    conda-forge
hyperframe                6.1.0              pyhd8ed1ab_0    conda-forge
icu                       78.2                 h33c6efd_0    conda-forge
identify                  2.6.16             pyhd8ed1ab_0    conda-forge
idna                      3.11               pyhd8ed1ab_0    conda-forge
importlib-metadata        8.7.0              pyhe01879c_1    conda-forge
importlib-resources       6.5.2              pyhd8ed1ab_0    conda-forge
importlib_resources       6.5.2              pyhd8ed1ab_0    conda-forge
iniconfig                 2.3.0              pyhd8ed1ab_0    conda-forge
ipykernel                 6.31.0             pyha191276_0    conda-forge
ipython                   9.10.0             pyh53cf698_0    conda-forge
ipython_pygments_lexers   1.1.1              pyhd8ed1ab_0    conda-forge
jedi                      0.19.2             pyhd8ed1ab_1    conda-forge
jinja2                    3.1.6              pyhcf101f3_1    conda-forge
jsonschema                4.26.0             pyhcf101f3_0    conda-forge
jsonschema-specifications 2025.9.1           pyhcf101f3_0    conda-forge
jupyter_client            8.8.0              pyhcf101f3_0    conda-forge
jupyter_core              5.9.1              pyhc90fa1f_0    conda-forge
jupyterlab_pygments       0.3.0              pyhd8ed1ab_2    conda-forge
jupytext                  1.19.1             pyhbbac1ac_0    conda-forge
keyutils                  1.6.3                hb9d3cd8_0    conda-forge
kiwisolver                1.4.9           py314h97ea11e_2    conda-forge
krb5                      1.21.3               h659f571_0    conda-forge
latexcodec                3.0.1                    pypi_0    pypi
lcms2                     2.18                 h0c24ade_0    conda-forge
ld_impl_linux-64          2.45            default_hbd61a6d_105    conda-forge
lerc                      4.0.0                h0aef613_1    conda-forge
libblas                   3.11.0          5_h4a7cf45_openblas    conda-forge
libbrotlicommon           1.2.0                hb03c661_1    conda-forge
libbrotlidec              1.2.0                hb03c661_1    conda-forge
libbrotlienc              1.2.0                hb03c661_1    conda-forge
libcblas                  3.11.0          5_h0358290_openblas    conda-forge
libclang-cpp21.1          21.1.8          default_h99862b1_2    conda-forge
libclang13                21.1.8          default_h746c552_2    conda-forge
libcups                   2.3.3                hb8b1518_5    conda-forge
libdeflate                1.25                 h17f619e_0    conda-forge
libdrm                    2.4.125              hb03c661_1    conda-forge
libedit                   3.1.20250104    pl5321h7949ede_0    conda-forge
libegl                    1.7.0                ha4b6fd6_2    conda-forge
libexpat                  2.7.3                hecca717_0    conda-forge
libffi                    3.5.2                h3435931_0    conda-forge
libfreetype               2.14.1               ha770c72_0    conda-forge
libfreetype6              2.14.1               h73754d4_0    conda-forge
libgcc                    15.2.0              he0feb66_16    conda-forge
libgcc-ng                 15.2.0              h69a702a_16    conda-forge
libgfortran               15.2.0              h69a702a_16    conda-forge
libgfortran5              15.2.0              h68bc16d_16    conda-forge
libgl                     1.7.0                ha4b6fd6_2    conda-forge
libglib                   2.86.3               h6548e54_0    conda-forge
libglvnd                  1.7.0                ha4b6fd6_2    conda-forge
libglx                    1.7.0                ha4b6fd6_2    conda-forge
libgomp                   15.2.0              he0feb66_16    conda-forge
libiconv                  1.18                 h3b78370_2    conda-forge
libjpeg-turbo             3.1.2                hb03c661_0    conda-forge
liblapack                 3.11.0          5_h47877c9_openblas    conda-forge
libllvm21                 21.1.8               hf7376ad_0    conda-forge
liblzma                   5.8.2                hb03c661_0    conda-forge
libmpdec                  4.0.0                hb03c661_1    conda-forge
libntlm                   1.8                  hb9d3cd8_0    conda-forge
libopenblas               0.3.30          pthreads_h94d23a6_4    conda-forge
libopengl                 1.7.0                ha4b6fd6_2    conda-forge
libpciaccess              0.18                 hb9d3cd8_0    conda-forge
libpng                    1.6.54               h421ea60_0    conda-forge
libpq                     18.1                 hb80d175_3    conda-forge
libsodium                 1.0.20               h4ab18f5_0    conda-forge
libsqlite                 3.51.2               hf4e2dac_0    conda-forge
libstdcxx                 15.2.0              h934c35e_16    conda-forge
libstdcxx-ng              15.2.0              hdf11a46_16    conda-forge
libtiff                   4.7.1                h9d88235_1    conda-forge
libuuid                   2.41.3               h5347b49_0    conda-forge
libvulkan-loader          1.4.328.1            h5279c79_0    conda-forge
libwebp-base              1.6.0                hd42ef1d_0    conda-forge
libxcb                    1.17.0               h8a09558_0    conda-forge
libxcrypt                 4.4.36               hd590300_1    conda-forge
libxkbcommon              1.13.1               hca5e8e5_0    conda-forge
libxml2                   2.15.1               he237659_1    conda-forge
libxml2-16                2.15.1               hca6bf5a_1    conda-forge
libxslt                   1.1.43               h711ed8c_1    conda-forge
libzlib                   1.3.1                hb9d3cd8_2    conda-forge
llvmlite                  0.46.0          py314h946fb2a_0    conda-forge
markdown                  3.10.1             pyhcf101f3_0    conda-forge
markdown-it-py            4.0.0              pyhd8ed1ab_0    conda-forge
markupsafe                3.0.3              pyh7db6752_0    conda-forge
matplotlib                3.10.8          py314hdafbbf9_0    conda-forge
matplotlib-base           3.10.8          py314h1194b4b_0    conda-forge
matplotlib-inline         0.2.1              pyhd8ed1ab_0    conda-forge
mdit-py-plugins           0.5.0              pyhd8ed1ab_0    conda-forge
mdurl                     0.1.2              pyhd8ed1ab_1    conda-forge
mergedeep                 1.3.4              pyhd8ed1ab_1    conda-forge
mike                      2.1.3              pyh29332c3_0    conda-forge
mistune                   3.2.0              pyhcf101f3_0    conda-forge
mkdocs                    1.6.1              pyhd8ed1ab_1    conda-forge
mkdocs-autorefs           1.4.3              pyhd8ed1ab_0    conda-forge
mkdocs-bibtex             4.4.0                    pypi_0    pypi
mkdocs-gen-files          0.6.0              pyhcf101f3_0    conda-forge
mkdocs-get-deps           0.2.0              pyhd8ed1ab_1    conda-forge
mkdocs-jupyter            0.25.1             pyhd8ed1ab_1    conda-forge
mkdocs-literate-nav       0.6.2              pyhd8ed1ab_0    conda-forge
mkdocs-material           9.7.1              pyhcf101f3_0    conda-forge
mkdocs-material-extensions 1.3.1              pyhd8ed1ab_1    conda-forge
mkdocstrings              1.0.2              pyhd8ed1ab_0    conda-forge
mkdocstrings-python       2.0.1              pyh332efcf_0    conda-forge
munkres                   1.1.4              pyhd8ed1ab_1    conda-forge
mypy                      1.19.1          py314h5bd0f2a_0    conda-forge
mypy_extensions           1.1.0              pyha770c72_0    conda-forge
nbclient                  0.10.4             pyhd8ed1ab_0    conda-forge
nbconvert                 7.17.0               h14065e2_0    conda-forge
nbconvert-core            7.17.0             pyhcf101f3_0    conda-forge
nbconvert-pandoc          7.17.0               hc3985f0_0    conda-forge
nbformat                  5.10.4             pyhd8ed1ab_1    conda-forge
ncurses                   6.5                  h2d0b736_3    conda-forge
nest-asyncio              1.6.0              pyhd8ed1ab_1    conda-forge
nodeenv                   1.10.0             pyhd8ed1ab_0    conda-forge
numba                     0.63.1          py314h8169c2f_0    conda-forge
numpy                     2.3.5           py314h2b28147_1    conda-forge
openjpeg                  2.5.4                h55fea9a_0    conda-forge
openldap                  2.6.10               he970967_0    conda-forge
openssl                   3.6.1                h35e630c_1    conda-forge
packaging                 26.0               pyhcf101f3_0    conda-forge
paginate                  0.5.7              pyhd8ed1ab_1    conda-forge
pandas                    3.0.0           py314hb4ffadd_0    conda-forge
pandoc                    3.8.3                ha770c72_0    conda-forge
pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
parso                     0.8.5              pyhcf101f3_0    conda-forge
pathspec                  1.0.4              pyhd8ed1ab_0    conda-forge
patsy                     1.0.2              pyhcf101f3_0    conda-forge
pcre2                     10.47                haa7fec5_0    conda-forge
pexpect                   4.9.0              pyhd8ed1ab_1    conda-forge
pillow                    12.1.0          py314h8ec4b1a_0    conda-forge
pip                       26.0               pyh145f28c_0    conda-forge
pixman                    0.46.4               h54a6638_1    conda-forge
platformdirs              4.5.1              pyhcf101f3_0    conda-forge
pluggy                    1.6.0              pyhf9edf01_1    conda-forge
pre-commit                4.5.1              pyha770c72_0    conda-forge
prompt-toolkit            3.0.52             pyha770c72_0    conda-forge
psutil                    7.2.2           py314h0f05182_0    conda-forge
pthread-stubs             0.4               hb9d3cd8_1002    conda-forge
ptyprocess                0.7.0              pyhd8ed1ab_1    conda-forge
pure_eval                 0.2.3              pyhd8ed1ab_1    conda-forge
pyaml                     25.7.0             pyhe01879c_0    conda-forge
pybtex                    0.25.1                   pypi_0    pypi
pycparser                 2.22               pyh29332c3_1    conda-forge
pygments                  2.19.2             pyhd8ed1ab_0    conda-forge
pymdown-extensions        10.21.1            pyhd8ed1ab_0    conda-forge
pypandoc                  1.16.2                   pypi_0    pypi
pyparsing                 3.3.2              pyhcf101f3_0    conda-forge
pyside6                   6.10.1          py314hf36963e_0    conda-forge
pysocks                   1.7.1              pyha55dd90_7    conda-forge
pytest                    9.0.2              pyhcf101f3_0    conda-forge
pytest-cov                7.0.0              pyhcf101f3_1    conda-forge
pytest-env                1.2.0              pyhd8ed1ab_0    conda-forge
python                    3.14.2          h32b2ec7_101_cp314    conda-forge
python-dateutil           2.9.0.post0        pyhe01879c_2    conda-forge
python-fastjsonschema     2.21.2             pyhe01879c_0    conda-forge
python-gil                3.14.2             h4df99d1_101    conda-forge
python-librt              0.7.8           py314h0f05182_0    conda-forge
python_abi                3.14                    8_cp314    conda-forge
pytokens                  0.3.0              pyhcf101f3_0    conda-forge
pytz                      2025.2             pyhd8ed1ab_0    conda-forge
pyyaml                    6.0.3              pyh7db6752_0    conda-forge
pyyaml-env-tag            1.1                pyhd8ed1ab_0    conda-forge
pyzmq                     27.1.0          py312hfb55c3c_0    conda-forge
qhull                     2020.2               h434a139_5    conda-forge
qt6-main                  6.10.1               hb82b983_4    conda-forge
readline                  8.3                  h853b02a_0    conda-forge
referencing               0.37.0             pyhcf101f3_0    conda-forge
requests                  2.32.5             pyhcf101f3_1    conda-forge
responses                 0.25.8                   pypi_0    pypi
rpds-py                   0.30.0          py314h2e6c369_0    conda-forge
ruff                      0.14.14              h40fa522_1    conda-forge
scipy                     1.17.0          py314hf07bd8e_1    conda-forge
setuptools                80.10.2            pyh332efcf_0    conda-forge
six                       1.17.0             pyhe01879c_1    conda-forge
soupsieve                 2.8.3              pyhd8ed1ab_0    conda-forge
stack_data                0.6.3              pyhd8ed1ab_1    conda-forge
statsmodels               0.14.6          py314hc02f841_0    conda-forge
tinycss2                  1.5.1              pyhcf101f3_0    conda-forge
tk                        8.6.13          noxft_h366c992_103    conda-forge
tomli                     2.4.0              pyhcf101f3_0    conda-forge
tornado                   6.5.4           py314h7b0bd38_0    conda-forge
traitlets                 5.14.3             pyhd8ed1ab_1    conda-forge
types-pyyaml              6.0.12.20250915    pyhd8ed1ab_1    conda-forge
typing-extensions         4.15.0               h396c80c_0    conda-forge
typing_extensions         4.15.0             pyhcf101f3_0    conda-forge
tzdata                    2025c                hc9c84f9_1    conda-forge
ukkonen                   1.1.0           py314h9891dd4_0    conda-forge
unicodedata2              17.0.0          py314h5bd0f2a_1    conda-forge
urllib3                   2.6.3              pyhd8ed1ab_0    conda-forge
validators                0.35.0                   pypi_0    pypi
verspec                   0.1.0              pyh29332c3_2    conda-forge
virtualenv                20.36.1            pyhd8ed1ab_0    conda-forge
watchdog                  6.0.0           py314hdafbbf9_2    conda-forge
wayland                   1.24.0               hd6090a7_1    conda-forge
wcwidth                   0.5.3              pyhd8ed1ab_0    conda-forge
webencodings              0.5.1              pyhd8ed1ab_3    conda-forge
xcb-util                  0.4.1                h4f16b4b_2    conda-forge
xcb-util-cursor           0.1.6                hb03c661_0    conda-forge
xcb-util-image            0.4.0                hb711507_2    conda-forge
xcb-util-keysyms          0.4.1                hb711507_0    conda-forge
xcb-util-renderutil       0.3.10               hb711507_0    conda-forge
xcb-util-wm               0.4.2                hb711507_0    conda-forge
xkeyboard-config          2.46                 hb03c661_0    conda-forge
xorg-libice               1.1.2                hb9d3cd8_0    conda-forge
xorg-libsm                1.2.6                he73a12e_0    conda-forge
xorg-libx11               1.8.12               h4f16b4b_0    conda-forge
xorg-libxau               1.0.12               hb03c661_1    conda-forge
xorg-libxcomposite        0.4.7                hb03c661_0    conda-forge
xorg-libxcursor           1.2.3                hb9d3cd8_0    conda-forge
xorg-libxdamage           1.1.6                hb9d3cd8_0    conda-forge
xorg-libxdmcp             1.1.5                hb03c661_1    conda-forge
xorg-libxext              1.3.7                hb03c661_0    conda-forge
xorg-libxfixes            6.0.2                hb03c661_0    conda-forge
xorg-libxi                1.8.2                hb9d3cd8_0    conda-forge
xorg-libxrandr            1.5.5                hb03c661_0    conda-forge
xorg-libxrender           0.9.12               hb9d3cd8_0    conda-forge
xorg-libxtst              1.2.5                hb9d3cd8_3    conda-forge
xorg-libxxf86vm           1.1.7                hb03c661_0    conda-forge
yaml                      0.2.5                h280c20c_3    conda-forge
zeromq                    4.3.5                h387f397_9    conda-forge
zipp                      3.23.0             pyhcf101f3_1    conda-forge
zlib-ng                   2.3.2                hceb46e0_1    conda-forge
zstd                      1.5.7                hb78ec9c_6    conda-forge

@xiki-tempula
Copy link
Author

I cannot really reproduce the slowdown, given that the speed improvement is not big big, I think I will just close this PR.

@xiki-tempula xiki-tempula deleted the feat_numba branch February 11, 2026 09:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants