Performance

SpikeSift achieves significant speed improvements over traditional spike sorters — outperforming even GPU-accelerated methods like Kilosort — while running entirely on a single CPU core.

Performance Highlights

SpikeSift maintains consistently high performance across a wide range of probe sizes, recording lengths, and experimental conditions.

It is especially effective for high-throughput pipelines, exploratory workflows, and real-time applications where spike sorting must outpace data acquisition.

Some key performance characteristics include:

  • Over 20× faster than Kilosort on high-density datasets

  • Up to 300× faster than Kilosort when both run on a single CPU core

  • Real-time sorting of thousands of channels using a single CPU core

  • Efficient even on short recordings (under 10 seconds)

  • Robust to both abrupt and continuous electrode drift

  • Supports parallel and progressive sorting with minimal overhead

SpikeSift is so efficient that complete spike sorting often finishes faster than simply copying or saving the data using NumPy I/O operations. This makes it practical even in workflows where I/O or preprocessing would normally dominate runtime.

Run a Quick Benchmark

To measure runtime on your system, wrap the sorting call with a timer:

import time
from spikesift import perform_spike_sorting

start = time.time()
result = perform_spike_sorting(recording)
spikes = result.all_spikes()
end = time.time()

print(f"Spike sorting completed in {end - start:.2f} seconds.")

This gives a quick end-to-end runtime estimate. For meaningful results, use a realistic recording with appropriate duration and number of channels.

Note

This is intended as a basic diagnostic. For detailed benchmarks and comparisons, see the upcoming SpikeSift paper:

Why Is SpikeSift So Fast?

SpikeSift’s speed comes from its algorithmic design, not just low-level optimization:

  • Uses lightweight template matching, avoiding full waveform convolutions

  • Applies an iterative detect-and-subtract process, isolating one neuron at a time

  • Focuses on local neighborhoods, avoiding expensive global clustering

  • Loads each segment into memory only once, thanks to adaptive segmentation

  • Implements all performance-critical steps in Cython, maximizing CPU efficiency

This makes SpikeSift suitable for dense probes, short recordings, and high-volume datasets — even in real-time applications, using a single CPU core and minimal memory.