goldsluice

goldsluice: fast pulse-reduction kernels in Rust, with a Python mirror of every algorithm (see README.md).

goldsluice.run(name, traces, *, backend='rust', **params)[source]

{output name: array of one value per trace} of algorithm name; backend is "rust" or "python".

goldsluice.compare(name, traces, *, repeat=5, python_events=200, **params)[source]

Best-of-repeat wall time of the Rust kernel over all traces, and of the Python mirror over the first python_events (it is slow), scaled up. The Rust time includes the call, the contiguity check and the output arrays, not the first-call import.

Modules

algorithms

Run an algorithm by name on either backend: the compiled Rust kernel or its Python mirror.

batch

Batch mode: run the processing of a dataset definition (goldpan.dataset) over all its raw files.

profile

Time an algorithm on both backends: print(compare("peak", traces, glitch_samples=10, ...)).

reference

The Python mirror of every algorithm: one module per algorithm, listed in ALL.