From 8f26d72083adb1e76a72169b840455736f39390e Mon Sep 17 00:00:00 2001 From: Adam Getchell Date: Sat, 31 Jan 2026 10:13:49 -0800 Subject: [PATCH] chore(release): release v0.1.3 - Update to Rust 1.93.0 - Bump version to v0.1.3 - Update documentation for release - Add performance results for v0.1.3 --- Cargo.lock | 2 +- Cargo.toml | 3 +- README.md | 16 +- .../bench/vs_linalg_lu_solve_median.csv | 12 +- .../bench/vs_linalg_lu_solve_median.svg | 172 +++++++++--------- justfile | 2 +- 6 files changed, 106 insertions(+), 101 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1b4a5cb..49ed591 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -675,7 +675,7 @@ dependencies = [ [[package]] name = "la-stack" -version = "0.1.2" +version = "0.1.3" dependencies = [ "approx", "criterion", diff --git a/Cargo.toml b/Cargo.toml index 709ae8a..9fc61bc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "la-stack" -version = "0.1.2" +version = "0.1.3" edition = "2024" rust-version = "1.93" license = "BSD-3-Clause" @@ -8,6 +8,7 @@ description = "Small, stack-allocated linear algebra for fixed dimensions" readme = "README.md" documentation = "https://docs.rs/la-stack" repository = "https://github.com/acgetchell/la-stack" +homepage = "https://github.com/acgetchell/la-stack" categories = [ "mathematics", "science" ] keywords = [ "linear-algebra", "geometry", "const-generics" ] diff --git a/README.md b/README.md index f5dd76c..0043247 100644 --- a/README.md +++ b/README.md @@ -159,14 +159,14 @@ Summary (median time; lower is better). The “la-stack vs nalgebra/faer” colu | D | la-stack median (ns) | nalgebra median (ns) | faer median (ns) | la-stack vs nalgebra | la-stack vs faer | |---:|--------------------:|--------------------:|----------------:|---------------------:|----------------:| -| 2 | 2.043 | 18.278 | 159.281 | +88.8% | +98.7% | -| 3 | 13.449 | 23.337 | 196.591 | +42.4% | +93.2% | -| 4 | 27.807 | 54.199 | 226.222 | +48.7% | +87.7% | -| 5 | 46.075 | 73.548 | 290.914 | +37.4% | +84.2% | -| 8 | 138.187 | 177.453 | 379.886 | +22.1% | +63.6% | -| 16 | 626.078 | 594.055 | 897.044 | -5.4% | +30.2% | -| 32 | 2,684.696 | 2,502.031 | 2,909.466 | -7.3% | +7.7% | -| 64 | 16,721.576 | 14,875.770 | 12,493.628 | -12.4% | -33.8% | +| 2 | 2.044 | 18.266 | 164.197 | +88.8% | +98.8% | +| 3 | 13.465 | 23.723 | 214.231 | +43.2% | +93.7% | +| 4 | 27.774 | 53.689 | 238.476 | +48.3% | +88.4% | +| 5 | 46.982 | 71.070 | 301.806 | +33.9% | +84.4% | +| 8 | 138.664 | 177.992 | 388.146 | +22.1% | +64.3% | +| 16 | 629.219 | 589.141 | 915.520 | -6.8% | +31.3% | +| 32 | 2,669.149 | 2,484.327 | 2,937.819 | -7.4% | +9.1% | +| 64 | 16,673.839 | 14,833.982 | 12,528.617 | -12.4% | -33.1% | ## 📄 License diff --git a/docs/assets/bench/vs_linalg_lu_solve_median.csv b/docs/assets/bench/vs_linalg_lu_solve_median.csv index 8afa472..03f9a42 100644 --- a/docs/assets/bench/vs_linalg_lu_solve_median.csv +++ b/docs/assets/bench/vs_linalg_lu_solve_median.csv @@ -1,5 +1,9 @@ D,la_stack,la_lo,la_hi,nalgebra,na_lo,na_hi,faer,fa_lo,fa_hi -8,139.1757887813422,138.85553999302812,139.43884658648437,178.21202693227167,177.52836844843281,178.55635798393308,385.32108423907505,384.06743118586223,386.57307928983295 -16,621.9073704935589,609.1396166716988,629.7385504068142,593.0675282677521,591.0085279317698,593.8912579957356,914.6753125472296,910.9807147912244,918.442061653845 -32,2686.106579251768,2673.9338182855513,2693.15666392619,2494.9662128806867,2492.8615451388887,2498.0652466220645,2928.5380530973453,2923.4865662122297,2933.5632483081727 -64,16748.679299149127,16714.879960962913,16783.847576211894,14695.374476410936,14657.57544191919,14718.787518037518,12441.879753474954,12411.776004717805,12477.712264150943 +2,2.044247740315049,2.040641419605847,2.047569588154799,18.265517395138673,18.250591198985774,18.297676369204602,164.19706054954844,162.47079605906202,164.86458382624332 +3,13.464763806510756,13.437074373868214,13.484583161677273,23.722950831222768,23.573321604791882,24.024315507797482,214.2308743241881,212.98887614452113,215.36922462070814 +4,27.7742179338886,27.7660328871038,27.78556019387555,53.68871396726941,53.56683166860114,53.741143214409234,238.47647656532206,238.05189773004636,239.26867142676178 +5,46.98152924614308,46.94840470290342,47.0348005728522,71.07022651266888,71.00586391725177,71.19002597963511,301.80588374550166,301.05852249316405,303.1561451527459 +8,138.66353609274998,138.339181168218,138.94434551913307,177.9921185190576,177.7515067799005,178.24335355018155,388.1460476516155,386.66699656901557,389.2579697462183 +16,629.2188734581864,621.8144395186827,635.6202941383435,589.140589150338,588.1983479898586,590.7972407151531,915.5199297354965,913.1974287780308,917.5517639372822 +32,2669.1485057915056,2667.3986486486488,2674.811448527179,2484.3269346011666,2482.2321064783373,2492.7009775861834,2937.819436085245,2933.2712235968556,2945.8553757440477 +64,16673.838731443993,16641.941176470587,16708.757965315588,14833.98222764618,14760.972257789159,14866.229402919946,12528.616960167714,12505.0,12554.478434650457 diff --git a/docs/assets/bench/vs_linalg_lu_solve_median.svg b/docs/assets/bench/vs_linalg_lu_solve_median.svg index 009c006..5ce9a8f 100644 --- a/docs/assets/bench/vs_linalg_lu_solve_median.svg +++ b/docs/assets/bench/vs_linalg_lu_solve_median.svg @@ -7,7 +7,7 @@ > Gnuplot -Produced by GNUPLOT 6.0 patchlevel 3 +Produced by GNUPLOT 6.0 patchlevel 4 @@ -199,7 +199,7 @@ - + @@ -243,164 +243,164 @@ - - la-stack + + la-stack v0.1.3 - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + gnuplot_plot_2 - - nalgebra + + nalgebra v0.34.1 - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + gnuplot_plot_3 - - faer + + faer v0.24.0 - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + diff --git a/justfile b/justfile index acfefb6..22e2e99 100644 --- a/justfile +++ b/justfile @@ -276,7 +276,7 @@ plot-vs-linalg metric="lu_solve" stat="median" sample="new" log_y="false": pytho uv run criterion-dim-plot "${args[@]}" # Plot + update the README benchmark table between BENCH_TABLE markers. -plot-vs-linalg-readme metric="lu_solve" stat="median" sample="new" log_y="false": python-sync +plot-vs-linalg-readme metric="lu_solve" stat="median" sample="new" log_y="true": python-sync #!/usr/bin/env bash set -euo pipefail args=(--metric "{{metric}}" --stat "{{stat}}" --sample "{{sample}}" --update-readme)