themisim.run_benchmark

themisim.run_benchmark(artifacts, *, k=10, nprobe=64, prefilter=500, n_latency=50, n_cold=10, n_recall=50, brute_force=True, chunk_rows=1000000, sweep=True, sweep_nprobe=(1, 8, 32, 64, 256), sweep_prefilter=(100, 500, 1000, 2000), operating_points=((64, 500), (256, 1000)), diversify_settings=(0, 30), ground_truth_path=None, seed=0, on_progress=None)[source]

Full report: environment, hyperparameters, latency, throughput, recall.

The brute-force pass is the expensive part — one sequential sweep of the whole memmap — so it runs last, after every measurement that would be distorted by saturating the same device.

Parameters:
Return type:

dict