Benchmarking
La ejecución de benchmarks en Rust se realiza a través de
cargo bench
, un comando específico para cargo
que ejecuta
todos los métodos anotados con el atributo #[bench]
. Este atributo está
actualmente inestable y disponible solo para el canal nightly.
Los usuarios de .NET pueden utilizar la biblioteca BenchmarkDotNet
para
realizar benchmarks de métodos y realizar un seguimiento de su rendimiento. El
equivalente de BenchmarkDotNet
es una crate llamada Criterion
.
Según su documentación, Criterion
recopila y almacena
información estadística de ejecución en ejecución y puede detectar
automáticamente regresiones de rendimiento, así como medir optimizaciones.
Usando Criterion
, es posible utilizar el atributo #[bench]
sin necesidad de
cambiar al canal nightly.
Al igual que en BenchmarkDotNet
, también es posible integrar los resultados de
los benchmarks con la
GitHub Action para Benchmarking Continuo. De hecho,
Criterion
admite múltiples formatos de salida, entre los que también se
encuentra el formato bencher
, que imita los benchmarks nightly de libtest
y
es compatible con la acción mencionada anteriormente.