Benchmarks and measurements

This page publishes methodology and fully contextualised Astraios measurements. It does not publish an Astraios-versus-Siril speed-up, because the two tools have not yet been timed on the same data with comparable settings. When that is done it will appear here with hardware, versions, frame count, dimensions, settings, warm-up, synchronization and repeat-run details.

What runs on the GPU

StageAstraios
Registration (star detection, matching, warp)GPU
Pixel rejection (sigma, winsorized, linear fit, percentile, min/max)GPU
Integration, drizzleGPU
Wavelet, chroma and TGV denoise; AI denoise; AI super-resolutionGPU
Deconvolution (Richardson-Lucy, spatially varying, multi-frame)GPU
Wavelet sharpen, unsharp mask, convolution, CLAHEGPU
Background extraction, stretches, curvesGPU
Master calibration combineCPU (astropy/numpy)
Non-local-means denoiseCPU (OpenCV)
Plate solving, catalog lookups, file I/OCPU

Every GPU stage has a CPU implementation that produces the same result within a tolerance of 0.001% of full scale, so a CPU-only machine gets the same output, slower.

Reproducing timings

The repository ships scripts/benchmark.py. It prints the device, frame size and count, and the median wall-clock of each operation after a warm-up run with a device synchronize around the timed region.

poetry run python scripts/benchmark.py --size 3000x4000 --frames 30 --color
poetry run python scripts/benchmark.py --frames-dir /path/to/lights --runs 5 --json astraios.json

Illustrative shape of one run, not a published number (synthetic 1.5 MP colour frames, 8 subs, NVIDIA RTX 5060 Laptop GPU, machine under other load): register plus stack 8 frames 1898 ms; drizzle 2x 133 ms; wavelet denoise 129 ms; Richardson-Lucy 30 iterations 78 ms; background extraction 53 ms. Rules for a fair comparison and a Siril script template are in docs/BENCHMARKS.md.

Quality comparison with Siril 1.4.4

Measured on on the maintainer's machine (NVIDIA RTX 5060 Laptop GPU, 7.7 GB VRAM, Fedora-based Linux): the same 50 JPEG subs of M42 (Sony A7 III, 6000×4000, 240 mm) registered and stacked in Astraios 0.1.25 and in Siril 1.4.4 through siril-cli with matched settings (Lanczos-4 registration, winsorized sigma clipping 3/3, additive-plus-scaling normalization, no weighting) and the same reference frame. The two stacks were registered to each other and identical sky and the same 554 stars were compared.

MeasureAstraiosSiril 1.4.4
Same-star peak height (ratio)1.0051.000
Same-star FWHM3.76 px3.79 px
Sky noise at the 1 px scale (Siril = 1)1.101.00
Sky noise at 4×4 and 8×8 binning1.001.00

Stacking Astraios' own aligned frames in Siril gives the same result as stacking them in Astraios (noise ratio 0.996 to 1.006), so normalization, rejection and integration are equivalent. The single-pixel difference comes from Siril's clamped Lanczos-4 resampling versus Astraios' bicubic warp. These are quality measurements, not timings.