Skip to content

Build(deps): update visqol-python requirement from >=3.5.0 to >=3.6.0#17

Closed
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/pip/visqol-python-gte-3.6.0
Closed

Build(deps): update visqol-python requirement from >=3.5.0 to >=3.6.0#17
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/pip/visqol-python-gte-3.6.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 28, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on visqol-python to permit the latest version.

Release notes

Sourced from visqol-python's releases.

Release v3.6.0

Full Changelog: talker93/visqol-python@v3.5.0...v3.6.0

Changelog

Sourced from visqol-python's changelog.

[3.6.0] - 2026-05-27

Added

  • Optional pyFFTW backend (pip install visqol-python[fftw]):
    • Routes scipy.fft.fft / ifft / rfft / irfft through FFTW3 via pyfftw.interfaces.scipy_fft for the alignment and cross-correlation FFTs. Detected at module load time in signal_utils and applied transparently via a thin _fft_backend() context manager.
    • Plan cache enabled with 60 s keep-alive so consecutive measurements on equal-length signals reuse the FFTW plan.

Improved

  • Fused NSIM kernel: _measure_patch_similarity_numba merged its 5 separate 2-D convolutions (μ_r, μ_d, ref², deg², ref·deg) and the intensity/structure recombination into one (r, c) double loop. Each patch element is read from L1 once per visit instead of five times, and the four intermediate (rows × cols) matrices are no longer materialised between convs. Bit-exact with the previous split-conv path (ULP-level FP rounding only).
  • nsim.measure_patch_similarity now dispatches to the fused JIT kernel when Numba is available — the same code path the DP patch matcher uses, so finely_align_and_recreate_patches shares the speedup. The pure-NumPy implementation is preserved as a fallback.
  • signal_utils._hilbert is a drop-in scipy.signal.hilbert replacement built on rfft for the real-valued input (~2× less forward-transform work than the original full complex fft).
  • signal_utils.find_best_lag now uses rfft + irfft for the cross-correlation, again exploiting the real input. Net effect: alignment FFTs see roughly 2× less work overall.
  • Removed dead helper _conv2d_boundary_valid from numba_accel.py (subsumed by the fused kernel).

Fixed

  • find_best_lag interpreter hot loop: the previous implementation ran xcorr_full[-max_lag:].tolist() + xcorr_full[:max_lag+1].tolist() and then builtin argmax(list) over a ~1.2 M-element Python list, costing ~33 ms per call in pure interpreter overhead. Now uses np.concatenate + np.argmax entirely in C.

Performance

Apple M-series, Python 3.13, audio mode, the guitar48_stereo 12.5 s conformance case, average of 3 runs with Numba + pyFFTW both installed:

Stage v3.5.0 v3.6.0 Speedup
DP Patch matching 0.397 s 0.131 s 3.0×
Global align / FFT 0.173 s 0.091 s 1.9×
Fine align + NSIM 0.093 s 0.043 s 2.2×
Gammatone 0.173 s 0.179 s ~

... (truncated)

Commits
  • 388c68a v3.6.0: fused NSIM kernel + pyFFTW alignment backend
  • 23501db perf: rfft/irfft for real-input alignment FFTs
  • e6f2f57 perf: fused NSIM kernel + pyFFTW alignment backend
  • See full diff in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [visqol-python](https://github.com/talker93/visqol-python) to permit the latest version.
- [Release notes](https://github.com/talker93/visqol-python/releases)
- [Changelog](https://github.com/talker93/visqol-python/blob/main/CHANGELOG.md)
- [Commits](talker93/visqol-python@v3.5.0...v3.6.0)

---
updated-dependencies:
- dependency-name: visqol-python
  dependency-version: 3.6.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels May 28, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jun 4, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #18.

@dependabot dependabot Bot closed this Jun 4, 2026
@dependabot dependabot Bot deleted the dependabot/pip/visqol-python-gte-3.6.0 branch June 4, 2026 08:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants