Closed beta: top-ups come with 30% extra credits, subscriptions with 50–70% extra. Feedback is welcome on the support page.

Measured results

19 open-source projects,
every number checkable

We pointed AutoOptm at these public PyTorch and Python repositories the way any submission is handled: the project's own command (or, for a library with no entry point, a benchmark script over its public API), timed end to end, the output compared item by item before and after. These are all the results, the large and the small.

19public repositories
2.68×median speedup
1.18–23.41×range
20 / 20measurements, output verified
23.41×
CPU data processingnoise floor 0.3%

Unit timed: one csvstat run over a 550k-row CSV (end to end)

command
$ python csvkit/utilities/csvstat.py big.csv

Bit-identical: every reported statistic equals stock csvkit

14.65×
CPU data processingnoise floor 0.6%

Unit timed: one random graph through six analyses (betweenness, PageRank, clustering, …)
A library with no entry point: the clock is on a benchmark script over its public API.

benchmark script
$ python ao_bench.py

Every reported field identical across 10 checked graphs

9.16×
CPU data processingnoise floor 11.4%

Unit timed: one week of a climate summary chain (coarsen → rolling → groupby_bins → anomaly → daily max → NetCDF write)
A library with no entry point: the clock is on a benchmark script over its public API.

benchmark script
$ python ao_bench.py

Statistics within 1.1e-5 absolute of the stock chain

7.59×
NVIDIA GPU inferencenoise floor 0.9%

Unit timed: one test image: JPEG decode → transform → generator → PNG written to disk

command
$ python test.py --dataroot datasets/horse2zebra/testA --name horse2zebra_pretrained --model test --no_dropout

Worst pixel differs by 2 uint8 levels (PSNR 64.9 dB), less than the stock program differs from itself

7.48×
NVIDIA GPU inferencenoise floor 1.1%

Unit timed: one sample (200 generated tokens, pythia-410m, bf16)

command
$ python litgpt/__main__.py generate checkpoints/EleutherAI/pythia-410m --max_new_tokens 200 --num_samples 8

Bit-identical against the frozen bf16 reference, pinned and held-out prompts

statsforecast

Nixtla/statsforecast ↗
5.24×
CPU data processingnoise floor 1.1%

Unit timed: one batch of series fitted and forecast by StatsForecast
A library with no entry point: the clock is on a benchmark script over its public API.

benchmark script
$ python ao_bench.py

Bit-identical forecasts

4.58×
RTX 4090 inferencenoise floor 2.5%

Unit timed: one sentence synthesised end to end (phonemiser → Tacotron2-DDC → vocoder → waveform)

command
$ python TTS/bin/synthesize.py --text "The quick brown fox jumps over the lazy dog, again and again." --model_name tts_models/en/ljspeech/tacotron2-DDC --out_path out.wav --use_cuda

Bit-identical waveform (PSNR 124 dB) on pinned and held-out sentences

3.35×
NVIDIA GPU inferencenoise floor 0.8%

Unit timed: one input image: decode → 4x RRDBNet (fp16) → post-process → encode + write

command
$ python inference_realesrgan.py -n RealESRGAN_x4plus -i inputs

PSNR 59.8 dB against the stock output, under one 8-bit code

sentence-transformers

UKPLab/sentence-transformers ↗
3.03×
RTX 4090 inferencenoise floor 3.2%

Unit timed: one encode() request (a list of texts → unit-norm embeddings), as the example script issues it

command
$ python examples/sentence_transformer/applications/computing-embeddings/computing_embeddings.py

Cosine 0.99999 against the fp32 output

2.68×
CPU data processingnoise floor 6.9%

Unit timed: one output frame of the 10-minute-tutorial trailer rendered end to end (decode → effects → composite → ffmpeg encode)

command
$ python docs/_static/code/getting_started/moviepy_10_minutes/trailer.py

At most 1 code of pixel difference (PSNR 51.7 dB)

yolov5 · detect

ultralytics/yolov5 ↗
2.62×
RTX 4090 inferencenoise floor 0.9%

Unit timed: one image through detect.py: read → letterbox → yolov5s forward → NMS → annotated write

command
$ python detect.py --source data/images --weights yolov5s.pt

Bit-identical on pinned images and holdout

2.25×
RTX 4090 inferencenoise floor 1.7%

Unit timed: one streamed clip through the server path (fresh client → segments → retirement)
A library with no entry point: the clock is on a benchmark script over its public API.

benchmark script
$ python ao_bench.py

Bit-identical transcripts

1.86×
RTX 4090 inferencenoise floor 2.1%

Unit timed: one clip scored with detect-adaptive end to end (decode → per-frame score → cut decision → scene list)

command
$ python scenedetect/__main__.py -i demo.mp4 detect-adaptive list-scenes -n

Bit-identical scores and an identical cut list

1.84×
RTX 4090 inferencenoise floor 4.0%

Unit timed: one image + prompt through demo/inference_on_a_image.py (SwinT backbone, BERT, deformable decoder → boxes)

command
$ python demo/inference_on_a_image.py -c groundingdino/config/GroundingDINO_SwinT_OGC.py -p weights/groundingdino_swint_ogc.pth -i .asset/cat_dog.jpeg -o out -t "cat ear."

Boxes move by less than 0.1 px

1.63×
RTX 4090 inferencenoise floor 2.0%

Unit timed: one short clip interpolated 2x end to end: decode → SSIM check → IFNet → encode

command
$ python inference_video.py --video=demo.mp4 --exp=1

Worst pixel 1 code off (PSNR 57.7 dB)

1.41×
RTX 4090 trainingnoise floor 0.2%

Unit timed: one training iteration of train.py (shakespeare_char)

command
$ python train.py config/train_shakespeare_char.py --compile=False --max_iters=400 --eval_interval=200 --log_interval=10

Loss trajectory within 8e-5 relative, gradient cosine ≥ 0.99999

1.35×
RTX 5090 trainingnoise floor 0.4%

Unit timed: one LoRA fine-tuning step of VibeVoice-ASR on the toy dataset (decode → tokenise → collate → forward/backward), measured on an RTX 5090

command
$ python finetuning-asr/lora_finetune.py --model_path microsoft/VibeVoice-ASR --data_dir finetuning-asr/toy_dataset --output_dir out --num_train_epochs 3 --per_device_train_batch_size 1 --learning_rate 1e-4 --bf16 --report_to none

Loss within 6.5e-2 relative, gradient cosine 0.885; a switch restores the stock path, the user decides

yolov5 · train

ultralytics/yolov5 ↗
1.24×
RTX 4090 trainingnoise floor 2.0%

Unit timed: one training step of train.py on a batch of 16 coco128 images

command
$ python train.py --data coco128.yaml --weights yolov5s.pt --img 640 --epochs 3 --batch-size 16

Loss within 2e-3 relative, gradient cosine ≥ 0.996

1.19×
RTX 4090 inferencenoise floor 8.4%

Unit timed: one audio file transcribed (--model small, float16, no alignment)

command
$ python whisperx/__main__.py audio.wav --model small --compute_type float16 --no_align --output_dir out

Features within 0.016 of the stock implementation

1.18×
RTX 4090 trainingnoise floor 2.3%

Unit timed: one series: TimeSeries → Scaler → NBEATSModel → fit (3 epochs) → forecast
A library with no entry point: the clock is on a benchmark script over its public API.

benchmark script
$ python ao_bench.py

Loss within 2e-3 relative, MAPE unchanged

How these numbers are made

The same command, the same inputs, the same output

01
Timed end to end

The clock is the wall time of one unit of work under the project's own command, data loading, preprocessing and writes included, not the model's forward pass alone.

02
The baseline is frozen first

Before any change, the inputs are pinned, a reference output is produced and the host's noise floor is measured. Every change is then compared against that frozen baseline, median of repeated samples.

03
Output verified item by item

Inference projects compare the output itself (bit-identical, PSNR or cosine), training projects compare the loss trajectory and the gradients. A change outside tolerance is reverted and never counted.

04
The command does not change

What ships is a plain patch: the same file, the same flags, the same outputs, optimisations on by default, with a switch beside each change that restores the stock path.

These are runs we submitted ourselves on public repositories; the hardware and the command are on each entry. The same code lands differently on other hardware or another input, which is why your repository gets a free estimate first and the decision to continue is yours.

See what it finds in your repository

The estimate is free, takes seconds, and runs none of your code.