Skip to content

Add benchmarking page to guides - #34

Merged
langestefan merged 7 commits into
mainfrom
docs
Dec 9, 2025
Merged

langestefan merged 7 commits into
mainfrom
docs

Conversation

@langestefan

Copy link
Copy Markdown
Member

Add a new docs page for benchmarks.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a comprehensive benchmarking guide to the SolarPosition.jl documentation, demonstrating performance and accuracy comparisons between different solar position algorithms and comparing Julia's performance against the Python solposx library.

  • Adds new benchmarking documentation page with accuracy analysis, performance benchmarks, and Python library comparison
  • Integrates Python interoperability via PythonCall.jl and CondaPkg for benchmarking against solposx
  • Adds cross-reference ID to parallel computing guide for better documentation navigation

Reviewed changes

Copilot reviewed 8 out of 10 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
docs/src/guides/benchmarking.md New comprehensive benchmarking guide with algorithm accuracy analysis, performance tests, and Julia vs Python comparisons
docs/make.jl Adds benchmarking.md to the guides section in documentation table of contents
docs/Project.toml Adds BenchmarkTools, PythonCall, CondaPkg, and Statistics dependencies for benchmarking documentation
docs/CondaPkg.toml Configures Python dependencies (pandas, solposx) for Python library comparison benchmarks
docs/.CondaPkg/pixi.toml Pixi configuration for managing Python environment via CondaPkg
docs/.CondaPkg/pixi.lock Lock file for reproducible Python environment setup
docs/.CondaPkg/meta CondaPkg metadata file (binary/generated)
docs/.CondaPkg/.gitignore Ignores Pixi environments and build artifacts
docs/.CondaPkg/.gitattributes Git attributes for Pixi lock file handling
docs/src/guides/parallel.md Adds cross-reference ID for linking from benchmarking page

Comment thread docs/src/guides/benchmarking.md Resolved
Comment thread docs/src/guides/benchmarking.md Resolved
Comment thread docs/src/guides/benchmarking.md Resolved
Comment thread docs/src/guides/benchmarking.md Resolved
Comment thread docs/src/guides/benchmarking.md Resolved
@github-actions

github-actions Bot commented Dec 9, 2025 •

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia vlts)

Time benchmarks
main 7a925b1... main / 7a925b1...
ours/n=100/NOAA 0.0436 ± 0.00028 ms 0.044 ± 0.00064 ms 0.99 ± 0.016
ours/n=100/PSA 16.8 ± 0.28 μs 23.3 ± 1.7 μs 0.723 ± 0.055
ours/n=100/SPA 0.291 ± 0.0064 ms 0.331 ± 0.0073 ms 0.879 ± 0.028
ours/n=100/USNO 0.0396 ± 0.00028 ms 0.143 ± 0.0013 ms 0.276 ± 0.0032
ours/n=100/Walraven 19.1 ± 0.18 μs 21.7 ± 0.33 μs 0.882 ± 0.016
ours/n=1000/NOAA 0.41 ± 0.0075 ms 0.425 ± 0.0075 ms 0.965 ± 0.024
ours/n=1000/PSA 0.169 ± 0.0027 ms 0.216 ± 0.0029 ms 0.782 ± 0.016
ours/n=1000/SPA 2.97 ± 0.0066 ms 3.36 ± 0.011 ms 0.882 ± 0.0034
ours/n=1000/USNO 0.384 ± 0.0073 ms 1.43 ± 0.012 ms 0.268 ± 0.0056
ours/n=1000/Walraven 0.191 ± 0.0074 ms 0.217 ± 0.0076 ms 0.88 ± 0.046
ours/n=10000/NOAA 4.14 ± 0.012 ms 4.3 ± 0.013 ms 0.964 ± 0.004
ours/n=10000/PSA 1.72 ± 0.0086 ms 2.22 ± 0.0082 ms 0.774 ± 0.0048
ours/n=10000/SPA 29.9 ± 0.22 ms 0.0338 ± 6.8e-05 s 0.884 ± 0.0066
ours/n=10000/USNO 3.87 ± 0.01 ms 14.4 ± 0.16 ms 0.269 ± 0.003
ours/n=10000/Walraven 1.93 ± 0.005 ms 2.19 ± 0.0088 ms 0.88 ± 0.0042
ours/n=100000/NOAA 0.0423 ± 0.00011 s 0.0437 ± 0.00015 s 0.967 ± 0.0042
ours/n=100000/PSA 17.3 ± 0.045 ms 22.4 ± 0.057 ms 0.769 ± 0.0028
ours/n=100000/SPA 0.3 ± 0.0016 s 0.339 ± 0.0019 s 0.885 ± 0.007
ours/n=100000/USNO 0.0391 ± 8.6e-05 s 0.146 ± 0.002 s 0.267 ± 0.0038
ours/n=100000/Walraven 19.5 ± 0.036 ms 22 ± 0.052 ms 0.883 ± 0.0027
refraction/ARCHER 0.241 ± 0.001 μs 0.291 ± 0.01 μs 0.828 ± 0.029
refraction/BENNETT 0.24 ± 0.01 μs 0.291 ± 0.01 μs 0.825 ± 0.045
refraction/MICHALSKY 0.21 ± 0.01 μs 0.26 ± 0.001 μs 0.808 ± 0.039
refraction/NoRefraction 0.2 ± 0.001 μs 0.26 ± 0.011 μs 0.769 ± 0.033
refraction/SG2 0.25 ± 0.001 μs 0.301 ± 0.001 μs 0.831 ± 0.0043
single/NOAA 0.451 ± 0.01 μs 0.461 ± 0 μs 0.978 ± 0.022
single/PSA 0.2 ± 0.001 μs 0.26 ± 0.001 μs 0.769 ± 0.0049
single/SPA 2.96 ± 0.019 μs 3.31 ± 0.01 μs 0.894 ± 0.0064
single/USNO 0.411 ± 0.009 μs 1.54 ± 0.029 μs 0.266 ± 0.0077
single/Walraven 0.221 ± 0.01 μs 0.241 ± 0.01 μs 0.917 ± 0.056
solposx/n=100/NOAA 3.6 ± 0.054 ms 3.64 ± 0.064 ms 0.987 ± 0.023
solposx/n=100/PSA 2.56 ± 0.046 ms 2.58 ± 0.056 ms 0.991 ± 0.028
solposx/n=100/SPA 3.02 ± 0.022 ms 3.02 ± 0.027 ms 0.998 ± 0.011
solposx/n=100/USNO 2.81 ± 0.044 ms 2.84 ± 0.046 ms 0.99 ± 0.022
solposx/n=100/Walraven 1.05 ± 0.021 ms 1.06 ± 0.024 ms 0.986 ± 0.03
solposx/n=1000/NOAA 4.33 ± 0.077 ms 4.34 ± 0.1 ms 0.998 ± 0.03
solposx/n=1000/PSA 2.97 ± 0.06 ms 3 ± 0.085 ms 0.989 ± 0.034
solposx/n=1000/SPA 7.7 ± 0.1 ms 7.7 ± 0.17 ms 0.999 ± 0.026
solposx/n=1000/USNO 6.76 ± 0.077 ms 6.88 ± 0.17 ms 0.982 ± 0.027
solposx/n=1000/Walraven 1.37 ± 0.034 ms 1.37 ± 0.035 ms 1 ± 0.036
solposx/n=10000/NOAA 10.5 ± 0.14 ms 10.4 ± 0.27 ms 1 ± 0.029
solposx/n=10000/PSA 6.45 ± 0.084 ms 6.48 ± 0.11 ms 0.995 ± 0.021
solposx/n=10000/SPA 0.0505 ± 0.00023 s 0.0502 ± 0.00026 s 1.01 ± 0.007
solposx/n=10000/USNO 0.0454 ± 0.00059 s 0.0457 ± 0.00077 s 0.995 ± 0.021
solposx/n=10000/Walraven 3.98 ± 0.048 ms 3.97 ± 0.053 ms 1 ± 0.018
solposx/n=100000/NOAA 0.0674 ± 0.00066 s 0.0691 ± 0.00073 s 0.976 ± 0.014
solposx/n=100000/PSA 0.0394 ± 0.00047 s 0.0399 ± 0.00046 s 0.987 ± 0.016
solposx/n=100000/SPA 0.483 ± 0.0047 s 0.493 ± 0.003 s 0.98 ± 0.011
solposx/n=100000/USNO 0.429 ± 0.017 s 0.438 ± 0.021 s 0.98 ± 0.06
solposx/n=100000/Walraven 29.4 ± 0.38 ms 29.9 ± 0.38 ms 0.985 ± 0.018
time_to_load 0.16 ± 0.0019 s 0.179 ± 0.0062 s 0.897 ± 0.033
Memory benchmarks
main 7a925b1... main / 7a925b1...
ours/n=100/NOAA 5 allocs: 4.38 kB 5 allocs: 4.38 kB 1
ours/n=100/PSA 3 allocs: 2.62 kB 3 allocs: 2.62 kB 1
ours/n=100/SPA 6 allocs: 5.25 kB 0.106 k allocs: 6.81 kB 0.771
ours/n=100/USNO 3 allocs: 2.62 kB 5.2 k allocs: 0.0834 MB 0.0307
ours/n=100/Walraven 3 allocs: 2.62 kB 3 allocs: 2.62 kB 1
ours/n=1000/NOAA 5 allocs: 0.0388 MB 5 allocs: 0.0388 MB 1
ours/n=1000/PSA 3 allocs: 23.8 kB 3 allocs: 23.8 kB 1
ours/n=1000/SPA 6 allocs: 0.0465 MB 1.01 k allocs: 0.0618 MB 0.753
ours/n=1000/USNO 3 allocs: 23.8 kB 0.052 M allocs: 0.832 MB 0.028
ours/n=1000/Walraven 3 allocs: 23.8 kB 3 allocs: 23.8 kB 1
ours/n=10000/NOAA 10 allocs: 0.382 MB 10 allocs: 0.382 MB 1
ours/n=10000/PSA 6 allocs: 0.229 MB 6 allocs: 0.229 MB 1
ours/n=10000/SPA 12 allocs: 0.458 MB 10 k allocs: 0.611 MB 0.75
ours/n=10000/USNO 6 allocs: 0.229 MB 0.52 M allocs: 8.32 MB 0.0275
ours/n=10000/Walraven 6 allocs: 0.229 MB 6 allocs: 0.229 MB 1
ours/n=100000/NOAA 10 allocs: 3.81 MB 10 allocs: 3.81 MB 1
ours/n=100000/PSA 6 allocs: 2.29 MB 6 allocs: 2.29 MB 1
ours/n=100000/SPA 12 allocs: 4.58 MB 0.1 M allocs: 6.1 MB 0.75
ours/n=100000/USNO 6 allocs: 2.29 MB 5.2 M allocs: 0.0812 GB 0.0275
ours/n=100000/Walraven 6 allocs: 2.29 MB 6 allocs: 2.29 MB 1
refraction/ARCHER 0 allocs: 0 B 0 allocs: 0 B
refraction/BENNETT 0 allocs: 0 B 0 allocs: 0 B
refraction/MICHALSKY 0 allocs: 0 B 0 allocs: 0 B
refraction/NoRefraction 0 allocs: 0 B 0 allocs: 0 B
refraction/SG2 0 allocs: 0 B 0 allocs: 0 B
single/NOAA 0 allocs: 0 B 0 allocs: 0 B
single/PSA 0 allocs: 0 B 0 allocs: 0 B
single/SPA 0 allocs: 0 B 1 allocs: 16 B 0
single/USNO 0 allocs: 0 B 0.052 k allocs: 0.828 kB 0
single/Walraven 0 allocs: 0 B 0 allocs: 0 B
solposx/n=100/NOAA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100/PSA 0.06 k allocs: 1.66 kB 0.06 k allocs: 1.66 kB 1
solposx/n=100/SPA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100/USNO 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100/Walraven 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=1000/NOAA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=1000/PSA 0.06 k allocs: 1.66 kB 0.06 k allocs: 1.66 kB 1
solposx/n=1000/SPA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=1000/USNO 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=1000/Walraven 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=10000/NOAA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=10000/PSA 0.06 k allocs: 1.66 kB 0.06 k allocs: 1.66 kB 1
solposx/n=10000/SPA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=10000/USNO 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=10000/Walraven 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100000/NOAA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100000/PSA 0.06 k allocs: 1.66 kB 0.06 k allocs: 1.66 kB 1
solposx/n=100000/SPA 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100000/USNO 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
solposx/n=100000/Walraven 25 allocs: 0.828 kB 25 allocs: 0.828 kB 1
time_to_load 0.153 k allocs: 14.5 kB 0.153 k allocs: 14.5 kB 1

@github-actions

github-actions Bot commented Dec 9, 2025 •

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia vpre)

Time benchmarks
main 7a925b1... main / 7a925b1...
ours/n=100/NOAA 0.0421 ± 0.00033 ms 0.0437 ± 0.00051 ms 0.964 ± 0.014
ours/n=100/PSA 16.3 ± 0.12 μs 22.4 ± 0.21 μs 0.728 ± 0.0087
ours/n=100/SPA 0.442 ± 0.0088 ms 0.531 ± 0.0084 ms 0.833 ± 0.021
ours/n=100/USNO 0.0391 ± 0.00028 ms 0.143 ± 0.0014 ms 0.275 ± 0.0033
ours/n=100/Walraven 19.3 ± 0.44 μs 21.6 ± 0.14 μs 0.892 ± 0.021
ours/n=1000/NOAA 0.413 ± 0.0077 ms 0.426 ± 0.0078 ms 0.969 ± 0.025
ours/n=1000/PSA 0.164 ± 0.0022 ms 0.229 ± 0.0032 ms 0.715 ± 0.014
ours/n=1000/SPA 4.4 ± 0.081 ms 5.41 ± 0.031 ms 0.813 ± 0.016
ours/n=1000/USNO 0.387 ± 0.0094 ms 1.43 ± 0.016 ms 0.27 ± 0.0073
ours/n=1000/Walraven 0.193 ± 0.0071 ms 0.222 ± 0.0086 ms 0.87 ± 0.046
ours/n=10000/NOAA 4.14 ± 0.021 ms 4.27 ± 0.021 ms 0.971 ± 0.0069
ours/n=10000/PSA 1.68 ± 0.012 ms 2.29 ± 0.021 ms 0.736 ± 0.0087
ours/n=10000/SPA 0.046 ± 0.0011 s 0.0533 ± 0.00027 s 0.862 ± 0.022
ours/n=10000/USNO 3.86 ± 0.031 ms 14.5 ± 0.21 ms 0.265 ± 0.0045
ours/n=10000/Walraven 1.94 ± 0.0095 ms 2.2 ± 0.017 ms 0.881 ± 0.0081
ours/n=100000/NOAA 0.0428 ± 0.0013 s 0.0442 ± 0.0015 s 0.967 ± 0.045
ours/n=100000/PSA 17 ± 0.81 ms 23.1 ± 0.45 ms 0.737 ± 0.038
ours/n=100000/SPA 0.451 ± 0.0089 s 0.545 ± 0.016 s 0.829 ± 0.03
ours/n=100000/USNO 0.039 ± 0.00061 s 0.15 ± 0.0015 s 0.26 ± 0.0049
ours/n=100000/Walraven 19.5 ± 0.6 ms 22.1 ± 0.64 ms 0.881 ± 0.037
refraction/ARCHER 0.231 ± 0.01 μs 0.28 ± 0.01 μs 0.825 ± 0.046
refraction/BENNETT 0.231 ± 0.01 μs 0.281 ± 0.011 μs 0.822 ± 0.048
refraction/MICHALSKY 0.2 ± 0.001 μs 0.241 ± 0.001 μs 0.83 ± 0.0054
refraction/NoRefraction 0.2 ± 0.011 μs 0.24 ± 0.001 μs 0.833 ± 0.046
refraction/SG2 0.25 ± 0.001 μs 0.291 ± 0.001 μs 0.859 ± 0.0045
single/NOAA 0.451 ± 0 μs 0.461 ± 0.01 μs 0.978 ± 0.021
single/PSA 0.2 ± 0.01 μs 0.24 ± 0.001 μs 0.833 ± 0.042
single/SPA 4.06 ± 0.07 μs 5.1 ± 0.07 μs 0.796 ± 0.018
single/USNO 0.411 ± 0.009 μs 1.48 ± 0.03 μs 0.277 ± 0.0083
single/Walraven 0.231 ± 0.01 μs 0.25 ± 0.01 μs 0.924 ± 0.054
solposx/n=100/NOAA 3.58 ± 0.053 ms 3.66 ± 0.085 ms 0.978 ± 0.027
solposx/n=100/PSA 2.52 ± 0.04 ms 2.58 ± 0.043 ms 0.976 ± 0.022
solposx/n=100/SPA 3.02 ± 0.028 ms 3.09 ± 0.029 ms 0.98 ± 0.013
solposx/n=100/USNO 2.8 ± 0.044 ms 2.85 ± 0.076 ms 0.981 ± 0.03
solposx/n=100/Walraven 1.06 ± 0.029 ms 1.06 ± 0.018 ms 0.995 ± 0.032
solposx/n=1000/NOAA 4.36 ± 0.1 ms 4.4 ± 0.11 ms 0.99 ± 0.035
solposx/n=1000/PSA 3 ± 0.057 ms 2.99 ± 0.1 ms 1.01 ± 0.039
solposx/n=1000/SPA 7.6 ± 0.13 ms 7.82 ± 0.086 ms 0.971 ± 0.02
solposx/n=1000/USNO 6.73 ± 0.14 ms 6.88 ± 0.13 ms 0.978 ± 0.027
solposx/n=1000/Walraven 1.38 ± 0.032 ms 1.38 ± 0.03 ms 1 ± 0.032
solposx/n=10000/NOAA 10.6 ± 0.21 ms 10.6 ± 0.16 ms 1 ± 0.025
solposx/n=10000/PSA 6.53 ± 0.12 ms 6.56 ± 0.13 ms 0.996 ± 0.027
solposx/n=10000/SPA 0.0504 ± 0.00028 s 0.0521 ± 0.0003 s 0.968 ± 0.0077
solposx/n=10000/USNO 0.0444 ± 0.00059 s 0.046 ± 0.00088 s 0.966 ± 0.023
solposx/n=10000/Walraven 4.02 ± 0.062 ms 4.09 ± 0.049 ms 0.982 ± 0.019
solposx/n=100000/NOAA 0.0679 ± 0.00072 s 0.0694 ± 0.00069 s 0.977 ± 0.014
solposx/n=100000/PSA 0.0397 ± 0.00035 s 0.0406 ± 0.00051 s 0.978 ± 0.015
solposx/n=100000/SPA 0.487 ± 0.0024 s 0.512 ± 0.0045 s 0.95 ± 0.0096
solposx/n=100000/USNO 0.426 ± 0.027 s 0.444 ± 0.019 s 0.96 ± 0.073
solposx/n=100000/Walraven 29.8 ± 0.33 ms 31 ± 0.43 ms 0.961 ± 0.017
time_to_load 0.127 ± 0.002 s 0.132 ± 0.00097 s 0.959 ± 0.017
Memory benchmarks
main 7a925b1... main / 7a925b1...
ours/n=100/NOAA 10 allocs: 4.53 kB 10 allocs: 4.53 kB 1
ours/n=100/PSA 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=100/SPA 12 allocs: 5.44 kB 0.112 k allocs: 7 kB 0.777
ours/n=100/USNO 6 allocs: 2.72 kB 5.21 k allocs: 0.0835 MB 0.0318
ours/n=100/Walraven 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=1000/NOAA 15 allocs: 0.0385 MB 15 allocs: 0.0385 MB 1
ours/n=1000/PSA 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=1000/SPA 18 allocs: 0.0462 MB 1.02 k allocs: 0.0614 MB 0.752
ours/n=1000/USNO 9 allocs: 23.6 kB 0.052 M allocs: 0.832 MB 0.0278
ours/n=1000/Walraven 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=10000/NOAA 15 allocs: 0.382 MB 15 allocs: 0.382 MB 1
ours/n=10000/PSA 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=10000/SPA 18 allocs: 0.458 MB 10 k allocs: 0.611 MB 0.75
ours/n=10000/USNO 9 allocs: 0.229 MB 0.52 M allocs: 8.32 MB 0.0275
ours/n=10000/Walraven 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=100000/NOAA 15 allocs: 3.82 MB 15 allocs: 3.82 MB 1
ours/n=100000/PSA 9 allocs: 2.29 MB 9 allocs: 2.29 MB 1
ours/n=100000/SPA 18 allocs: 4.58 MB 0.1 M allocs: 6.1 MB 0.75
ours/n=100000/USNO 9 allocs: 2.29 MB 5.2 M allocs: 0.0812 GB 0.0275
ours/n=100000/Walraven 9 allocs: 2.29 MB 9 allocs: 2.29 MB 1
refraction/ARCHER 0 allocs: 0 B 0 allocs: 0 B
refraction/BENNETT 0 allocs: 0 B 0 allocs: 0 B
refraction/MICHALSKY 0 allocs: 0 B 0 allocs: 0 B
refraction/NoRefraction 0 allocs: 0 B 0 allocs: 0 B
refraction/SG2 0 allocs: 0 B 0 allocs: 0 B
single/NOAA 0 allocs: 0 B 0 allocs: 0 B
single/PSA 0 allocs: 0 B 0 allocs: 0 B
single/SPA 0 allocs: 0 B 1 allocs: 16 B 0
single/USNO 0 allocs: 0 B 0.052 k allocs: 0.828 kB 0
single/Walraven 0 allocs: 0 B 0 allocs: 0 B
solposx/n=100/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=100/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=1000/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=10000/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=100000/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
time_to_load 0.217 k allocs: 13.5 kB 0.217 k allocs: 13.5 kB 1

@github-actions

github-actions Bot commented Dec 9, 2025 •

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia v1)

Time benchmarks
main 7a925b1... main / 7a925b1...
ours/n=100/NOAA 0.0425 ± 0.00024 ms 0.0434 ± 0.00031 ms 0.979 ± 0.0089
ours/n=100/PSA 16.6 ± 0.16 μs 20.8 ± 0.17 μs 0.8 ± 0.01
ours/n=100/SPA 0.301 ± 0.0073 ms 0.365 ± 0.0074 ms 0.825 ± 0.026
ours/n=100/USNO 0.0406 ± 0.00018 ms 0.134 ± 0.0014 ms 0.303 ± 0.0035
ours/n=100/Walraven 19.7 ± 0.65 μs 21.7 ± 0.099 μs 0.904 ± 0.03
ours/n=1000/NOAA 0.414 ± 0.0077 ms 0.427 ± 0.0076 ms 0.971 ± 0.025
ours/n=1000/PSA 0.165 ± 0.0073 ms 0.207 ± 0.0079 ms 0.797 ± 0.047
ours/n=1000/SPA 3.09 ± 0.021 ms 3.71 ± 0.009 ms 0.834 ± 0.0059
ours/n=1000/USNO 0.393 ± 0.0076 ms 1.35 ± 0.016 ms 0.291 ± 0.0066
ours/n=1000/Walraven 0.195 ± 0.0086 ms 0.219 ± 0.0086 ms 0.889 ± 0.053
ours/n=10000/NOAA 4.19 ± 0.01 ms 4.31 ± 0.012 ms 0.972 ± 0.0037
ours/n=10000/PSA 1.68 ± 0.0092 ms 2.12 ± 0.0085 ms 0.793 ± 0.0054
ours/n=10000/SPA 31.2 ± 0.19 ms 0.0373 ± 6.4e-05 s 0.835 ± 0.0053
ours/n=10000/USNO 3.98 ± 0.011 ms 13.9 ± 0.13 ms 0.287 ± 0.0028
ours/n=10000/Walraven 1.97 ± 0.0084 ms 2.21 ± 0.0099 ms 0.891 ± 0.0055
ours/n=100000/NOAA 0.0427 ± 0.00053 s 0.0439 ± 0.00035 s 0.973 ± 0.014
ours/n=100000/PSA 17 ± 0.14 ms 21.4 ± 0.26 ms 0.792 ± 0.012
ours/n=100000/SPA 0.313 ± 0.0022 s 0.375 ± 0.00054 s 0.835 ± 0.0059
ours/n=100000/USNO 0.0402 ± 0.00021 s 0.138 ± 0.0015 s 0.29 ± 0.0034
ours/n=100000/Walraven 19.8 ± 0.57 ms 22.1 ± 0.061 ms 0.897 ± 0.026
refraction/ARCHER 0.24 ± 0.01 μs 0.281 ± 0.01 μs 0.854 ± 0.047
refraction/BENNETT 0.24 ± 0.01 μs 0.281 ± 0.01 μs 0.854 ± 0.047
refraction/MICHALSKY 0.2 ± 0.001 μs 0.241 ± 0.01 μs 0.83 ± 0.035
refraction/NoRefraction 0.2 ± 0.009 μs 0.241 ± 0.001 μs 0.83 ± 0.038
refraction/SG2 0.25 ± 0.001 μs 0.291 ± 0.01 μs 0.859 ± 0.03
single/NOAA 0.461 ± 0.001 μs 0.471 ± 0 μs 0.979 ± 0.0021
single/PSA 0.2 ± 0.01 μs 0.241 ± 0.001 μs 0.83 ± 0.042
single/SPA 3.04 ± 0.02 μs 3.74 ± 0.04 μs 0.812 ± 0.01
single/USNO 0.431 ± 0.01 μs 1.51 ± 0.03 μs 0.285 ± 0.0087
single/Walraven 0.231 ± 0.01 μs 0.25 ± 0.01 μs 0.924 ± 0.054
solposx/n=100/NOAA 3.64 ± 0.049 ms 3.59 ± 0.05 ms 1.01 ± 0.019
solposx/n=100/PSA 2.56 ± 0.05 ms 2.47 ± 0.04 ms 1.03 ± 0.026
solposx/n=100/SPA 3.03 ± 0.019 ms 3.02 ± 0.021 ms 1 ± 0.0093
solposx/n=100/USNO 2.86 ± 0.035 ms 2.75 ± 0.041 ms 1.04 ± 0.02
solposx/n=100/Walraven 1.05 ± 0.016 ms 1.04 ± 0.026 ms 1.01 ± 0.03
solposx/n=1000/NOAA 4.26 ± 0.05 ms 4.2 ± 0.059 ms 1.02 ± 0.019
solposx/n=1000/PSA 2.93 ± 0.065 ms 2.87 ± 0.038 ms 1.02 ± 0.026
solposx/n=1000/SPA 7.38 ± 0.045 ms 7.5 ± 0.042 ms 0.984 ± 0.0081
solposx/n=1000/USNO 6.71 ± 0.079 ms 6.6 ± 0.075 ms 1.02 ± 0.017
solposx/n=1000/Walraven 1.34 ± 0.03 ms 1.31 ± 0.028 ms 1.02 ± 0.031
solposx/n=10000/NOAA 10.4 ± 0.12 ms 10.3 ± 0.13 ms 1.01 ± 0.017
solposx/n=10000/PSA 6.35 ± 0.087 ms 6.34 ± 0.07 ms 1 ± 0.018
solposx/n=10000/SPA 0.0495 ± 0.00022 s 0.0492 ± 0.00017 s 1.01 ± 0.0056
solposx/n=10000/USNO 0.0442 ± 0.0005 s 0.044 ± 0.00057 s 1.01 ± 0.017
solposx/n=10000/Walraven 3.95 ± 0.032 ms 3.93 ± 0.033 ms 1 ± 0.012
solposx/n=100000/NOAA 0.0683 ± 0.00047 s 0.0675 ± 0.00057 s 1.01 ± 0.011
solposx/n=100000/PSA 0.0389 ± 0.00041 s 0.0387 ± 0.00045 s 1.01 ± 0.016
solposx/n=100000/SPA 0.493 ± 0.0031 s 0.483 ± 0.0035 s 1.02 ± 0.0097
solposx/n=100000/USNO 0.427 ± 0.02 s 0.424 ± 0.019 s 1.01 ± 0.064
solposx/n=100000/Walraven 29.3 ± 0.27 ms 29.1 ± 0.21 ms 1.01 ± 0.012
time_to_load 0.171 ± 0.004 s 0.18 ± 0.0035 s 0.948 ± 0.029
Memory benchmarks
main 7a925b1... main / 7a925b1...
ours/n=100/NOAA 10 allocs: 4.53 kB 10 allocs: 4.53 kB 1
ours/n=100/PSA 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=100/SPA 12 allocs: 5.44 kB 0.112 k allocs: 7 kB 0.777
ours/n=100/USNO 6 allocs: 2.72 kB 5.21 k allocs: 0.0835 MB 0.0318
ours/n=100/Walraven 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=1000/NOAA 15 allocs: 0.0385 MB 15 allocs: 0.0385 MB 1
ours/n=1000/PSA 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=1000/SPA 18 allocs: 0.0462 MB 1.02 k allocs: 0.0614 MB 0.752
ours/n=1000/USNO 9 allocs: 23.6 kB 0.052 M allocs: 0.832 MB 0.0278
ours/n=1000/Walraven 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=10000/NOAA 15 allocs: 0.382 MB 15 allocs: 0.382 MB 1
ours/n=10000/PSA 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=10000/SPA 18 allocs: 0.458 MB 10 k allocs: 0.611 MB 0.75
ours/n=10000/USNO 9 allocs: 0.229 MB 0.52 M allocs: 8.32 MB 0.0275
ours/n=10000/Walraven 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=100000/NOAA 15 allocs: 3.82 MB 15 allocs: 3.82 MB 1
ours/n=100000/PSA 9 allocs: 2.29 MB 9 allocs: 2.29 MB 1
ours/n=100000/SPA 18 allocs: 4.58 MB 0.1 M allocs: 6.1 MB 0.75
ours/n=100000/USNO 9 allocs: 2.29 MB 5.2 M allocs: 0.0812 GB 0.0275
ours/n=100000/Walraven 9 allocs: 2.29 MB 9 allocs: 2.29 MB 1
refraction/ARCHER 0 allocs: 0 B 0 allocs: 0 B
refraction/BENNETT 0 allocs: 0 B 0 allocs: 0 B
refraction/MICHALSKY 0 allocs: 0 B 0 allocs: 0 B
refraction/NoRefraction 0 allocs: 0 B 0 allocs: 0 B
refraction/SG2 0 allocs: 0 B 0 allocs: 0 B
single/NOAA 0 allocs: 0 B 0 allocs: 0 B
single/PSA 0 allocs: 0 B 0 allocs: 0 B
single/SPA 0 allocs: 0 B 1 allocs: 16 B 0
single/USNO 0 allocs: 0 B 0.052 k allocs: 0.828 kB 0
single/Walraven 0 allocs: 0 B 0 allocs: 0 B
solposx/n=100/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=100/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=1000/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=1000/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=10000/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=10000/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/NOAA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/PSA 0.037 k allocs: 1.17 kB 0.037 k allocs: 1.17 kB 1
solposx/n=100000/SPA 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/USNO 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
solposx/n=100000/Walraven 9 allocs: 0.516 kB 9 allocs: 0.516 kB 1
time_to_load 0.145 k allocs: 11 kB 0.145 k allocs: 11 kB 1

@codecov

codecov Bot commented Dec 9, 2025 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.21%. Comparing base (ea4c8e1) to head (7a925b1).
⚠️ Report is 13 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #34      +/-   ##
==========================================
+ Coverage   99.02%   99.21%   +0.19%     
==========================================
  Files          15       15              
  Lines         511      511              
==========================================
+ Hits          506      507       +1     
+ Misses          5        4       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@langestefan
langestefan merged commit ce7b679 into main Dec 9, 2025
17 checks passed
@langestefan
langestefan deleted the docs branch December 9, 2025 23:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants