Skip to content

Move TimeZones support into a package extension - #121

Merged
langestefan merged 2 commits into
mainfrom
feature/timezones-extension
Jul 30, 2026
Merged

Move TimeZones support into a package extension#121
langestefan merged 2 commits into
mainfrom
feature/timezones-extension

Conversation

@langestefan

Copy link
Copy Markdown
Member

Related issues

There is no related issue.

Summary

TimeZones was a hard dependency, so every user of SolarPosition paid for it —
and for TZJData, Downloads and LibCURL behind it — whether or not they
ever touched a ZonedDateTime. This demotes it to a weak dependency and moves
the zoned methods into a new SolarPositionTimeZonesExt.

This is invisible at the call site. A ZonedDateTime or TimeZone cannot be
constructed without TimeZones being loaded, and loading it is exactly what
triggers the extension. Existing code keeps working unchanged.

What moved

The relocated methods all did the same thing — convert to UTC, delegate to the
DateTime method, convert back where the result is itself a time:

Moved to the extension From
solar_position, solar_position! (scalar + vector) Positioning/Positioning.jl
solar_rate, _as_utc Positioning/interpolated.jl
calculate_deltat Positioning/deltat.jl
transit_sunrise_sunset, _transit_sunrise_sunset Utilities/srt.jl, Utilities/spa.jl
next_/previous_ sunrise, sunset, solar noon Utilities/srt.jl
TransitSunriseSunset{ZonedDateTime} constructor Utilities/srt.jl

Signature widening

A few signatures named ZonedDateTime only to constrain a type parameter. Those
are widened so the package no longer refers to the type, and the extension's
methods slot in:

  • TransitSunriseSunset{T <: Union{DateTime, ZonedDateTime}}TransitSunriseSunset{T}
  • Interpolated's tspan::Tuple{<:Union{DateTime, ZonedDateTime}, ...}Tuple{Any, Any}
  • _transit_sunrise_sunset_impl's R and tz parameters
  • The three OhMyThreads scheduler methods' Z parameter

SolarPositionOhMyThreadsExt no longer imports TimeZones at all — it was only
using it to spell that constraint.

Documentation

The existing pages needed no correctness fixes for the extension change: every
page using ZonedDateTime already does using TimeZones, which is what loads
the extension. TimeZones stays in [compat] and in the test/docs projects.

While documenting the new extension, both landing pages turned out to have
drifted from what the package ships, so this also brings them current:

README

  • Add Michalsky to the positioning table — it shipped without the table being updated
  • Add the TimeZones row to the extensions table
  • The refraction table advertised the SPA model as SPA, but the exported type is
    SPARefraction; SPA is the positioning algorithm, so a reader copying that
    name got a call that works and means something else

docs index

  • The extensions table listed three of the five extensions — missing Interpolations
    as well as TimeZones
  • Interpolated and the autodiff support had no mention on the page at all, despite
    both being in the README and having their own guides; added a section for each as
    executable @example blocks reusing the observer the page already defines
  • Added a one-line example of passing an algorithm explicitly, since the table names
    algorithms the page never showed being selected

Checklist

  • I am following the contributing guidelines
  • Tests are passing
  • Lint workflow is passing
  • Docs were updated and workflow is passing

langestefan and others added 2 commits July 30, 2026 23:06
TimeZones pulls in TZJData, Downloads and LibCURL, so every user of
SolarPosition paid that load cost whether or not they ever touched a
ZonedDateTime. Demote it to a weak dependency and move the zoned methods
into SolarPositionTimeZonesExt.

The relocated methods -- solar_position[!], solar_rate, calculate_deltat,
_as_utc, transit_sunrise_sunset and the next_/previous_ event helpers --
all did the same thing: convert to UTC, delegate to the DateTime method,
and convert back where the result is itself a time. Nothing in them needs
to live in the package proper.

Signatures that existed only to name ZonedDateTime are widened to an
unconstrained type parameter, so the extension's methods slot in without
the package referring to the type: TransitSunriseSunset{T}, the tspan
pair of Interpolated, _transit_sunrise_sunset_impl, and the OhMyThreads
scheduler methods.

This is invisible at the call site. A ZonedDateTime or TimeZone cannot be
constructed without TimeZones loaded, which is precisely what triggers
the extension.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Ky1A6fZaCrjV4H3Fzz2u3
Both landing pages had drifted from what the package actually ships.

README: add Michalsky to the positioning table, which arrived without the
table being updated, and add the new TimeZones row to the extensions
table. The refraction table advertised the SPA model as `SPA`, but the
exported type is `SPARefraction` -- `SPA` is the positioning algorithm, so
a reader copying that name got a working call with the wrong meaning.

docs index: the extensions table listed three of the five extensions,
missing Interpolations as well as TimeZones. The Interpolated wrapper and
the autodiff support had no mention on the page at all, though both are
covered in the README and have their own guides; add a section for each,
as executable examples reusing the observer the page already defines, and
link the guides. Add a one-line example of passing an algorithm explicitly,
since the table names algorithms the page never shows being selected.

Both pages get a note that loading TimeZones is what enables ZonedDateTime
arguments.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Ky1A6fZaCrjV4H3Fzz2u3
@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia v1)

Time benchmarks
main 27afd4a... main / 27afd4a...
ours/n=100/Interpolated 0.0217 ± 0.00027 ms 0.0216 ± 0.00027 ms 1 ± 0.018
ours/n=100/Iqbal 0.00996 ± 0.00012 ms 0.00997 ± 0.00011 ms 0.999 ± 0.016
ours/n=100/Michalsky 0.0254 ± 0.00021 ms 0.0254 ± 0.00022 ms 1 ± 0.012
ours/n=100/NOAA 0.0316 ± 0.00024 ms 0.0317 ± 0.00027 ms 0.999 ± 0.011
ours/n=100/PSA 0.0134 ± 0.00015 ms 0.0134 ± 0.00015 ms 0.999 ± 0.016
ours/n=100/SPA 0.219 ± 0.0024 ms 0.218 ± 0.0022 ms 1 ± 0.015
ours/n=100/USNO 0.0297 ± 0.0002 ms 0.0297 ± 0.00023 ms 1 ± 0.01
ours/n=100/Walraven 0.0165 ± 0.00031 ms 0.0165 ± 0.00036 ms 0.998 ± 0.029
ours/n=1000/Interpolated 0.218 ± 0.0031 ms 0.218 ± 0.005 ms 1 ± 0.027
ours/n=1000/Iqbal 0.103 ± 0.00061 ms 0.103 ± 0.00056 ms 1 ± 0.008
ours/n=1000/Michalsky 0.253 ± 0.0057 ms 0.253 ± 0.0058 ms 1 ± 0.032
ours/n=1000/NOAA 0.311 ± 0.0062 ms 0.31 ± 0.0062 ms 1 ± 0.028
ours/n=1000/PSA 0.134 ± 0.0064 ms 0.134 ± 0.0066 ms 1 ± 0.069
ours/n=1000/SPA 2.26 ± 0.019 ms 2.27 ± 0.019 ms 0.999 ± 0.012
ours/n=1000/USNO 0.291 ± 0.0059 ms 0.291 ± 0.006 ms 1 ± 0.029
ours/n=1000/Walraven 0.166 ± 0.0083 ms 0.166 ± 0.0084 ms 0.997 ± 0.071
ours/n=10000/Interpolated 2.26 ± 0.021 ms 2.26 ± 0.026 ms 0.999 ± 0.015
ours/n=10000/Iqbal 1.08 ± 0.0047 ms 1.08 ± 0.004 ms 1 ± 0.0057
ours/n=10000/Michalsky 2.56 ± 0.011 ms 2.56 ± 0.012 ms 1 ± 0.0063
ours/n=10000/NOAA 3.13 ± 0.012 ms 3.13 ± 0.011 ms 1 ± 0.0053
ours/n=10000/PSA 1.34 ± 0.0092 ms 1.34 ± 0.0091 ms 1 ± 0.0097
ours/n=10000/SPA 23 ± 0.059 ms 23.1 ± 0.061 ms 0.996 ± 0.0037
ours/n=10000/USNO 2.95 ± 0.012 ms 2.94 ± 0.01 ms 1 ± 0.0053
ours/n=10000/Walraven 1.66 ± 0.014 ms 1.66 ± 0.0071 ms 1 ± 0.0097
ours/n=100000/Interpolated 22.8 ± 0.32 ms 23 ± 0.58 ms 0.992 ± 0.029
ours/n=100000/Iqbal 10.9 ± 0.099 ms 10.9 ± 0.087 ms 1 ± 0.012
ours/n=100000/Michalsky 25.9 ± 0.13 ms 25.9 ± 0.13 ms 1 ± 0.0071
ours/n=100000/NOAA 32.2 ± 0.24 ms 32.2 ± 0.19 ms 1 ± 0.0096
ours/n=100000/PSA 13.6 ± 0.051 ms 13.6 ± 0.075 ms 1 ± 0.0067
ours/n=100000/SPA 232 ± 0.93 ms 231 ± 1.2 ms 1 ± 0.0067
ours/n=100000/USNO 30 ± 0.085 ms 30 ± 0.22 ms 1 ± 0.0078
ours/n=100000/Walraven 16.7 ± 0.16 ms 16.7 ± 0.12 ms 1 ± 0.012
refraction/ARCHER 0.00021 ± 1e-05 ms 0.00021 ± 1e-05 ms 1 ± 0.067
refraction/BENNETT 0.000201 ± 1.1e-05 ms 0.000201 ± 1e-05 ms 1 ± 0.074
refraction/MICHALSKY 0.00017 ± 1e-05 ms 0.00017 ± 1e-05 ms 1 ± 0.083
refraction/NoRefraction 0.00017 ± 0 ms 0.00017 ± 0 ms 1 ± 0
refraction/SG2 0.00022 ± 9e-06 ms 0.00022 ± 9e-06 ms 1 ± 0.058
single/Interpolated 0.000341 ± 1e-05 ms 0.000341 ± 1e-05 ms 1 ± 0.041
single/Iqbal 0.00015 ± 1e-05 ms 0.00015 ± 1e-05 ms 1 ± 0.094
single/Michalsky 0.00027 ± 1e-06 ms 0.00027 ± 1e-06 ms 1 ± 0.0052
single/NOAA 0.00035 ± 1e-05 ms 0.00035 ± 1e-06 ms 1 ± 0.029
single/PSA 0.00017 ± 1e-05 ms 0.000161 ± 1e-05 ms 1.06 ± 0.09
single/SPA 0.00227 ± 1e-05 ms 0.00227 ± 1e-05 ms 1 ± 0.0062
single/USNO 0.000321 ± 1e-05 ms 0.000321 ± 1e-05 ms 1 ± 0.044
single/Walraven 0.000201 ± 1e-05 ms 0.000201 ± 1e-05 ms 1 ± 0.07
solposx/n=100/Iqbal 1.23 ± 0.017 ms 1.22 ± 0.018 ms 1.01 ± 0.02
solposx/n=100/NOAA 2.24 ± 0.024 ms 2.22 ± 0.025 ms 1.01 ± 0.016
solposx/n=100/PSA 1.53 ± 0.021 ms 1.53 ± 0.022 ms 1 ± 0.019
solposx/n=100/SPA 2.25 ± 0.072 ms 2.33 ± 0.027 ms 0.965 ± 0.033
solposx/n=100/USNO 1.84 ± 0.02 ms 1.83 ± 0.019 ms 1 ± 0.015
solposx/n=100/Walraven 0.644 ± 0.016 ms 0.641 ± 0.016 ms 1 ± 0.035
solposx/n=1000/Iqbal 1.42 ± 0.021 ms 1.41 ± 0.019 ms 1.01 ± 0.02
solposx/n=1000/NOAA 2.78 ± 0.03 ms 2.77 ± 0.026 ms 1 ± 0.014
solposx/n=1000/PSA 1.77 ± 0.021 ms 1.77 ± 0.024 ms 1 ± 0.018
solposx/n=1000/SPA 5.24 ± 0.072 ms 5.28 ± 0.049 ms 0.992 ± 0.016
solposx/n=1000/USNO 4.98 ± 0.044 ms 4.93 ± 0.048 ms 1.01 ± 0.013
solposx/n=1000/Walraven 0.846 ± 0.019 ms 0.835 ± 0.02 ms 1.01 ± 0.033
solposx/n=10000/Iqbal 3.41 ± 0.095 ms 3.4 ± 0.04 ms 1 ± 0.03
solposx/n=10000/NOAA 7.77 ± 0.15 ms 7.79 ± 0.12 ms 0.997 ± 0.025
solposx/n=10000/PSA 4.12 ± 0.12 ms 4.12 ± 0.078 ms 0.999 ± 0.035
solposx/n=10000/SPA 33 ± 0.19 ms 33 ± 0.16 ms 0.998 ± 0.0076
solposx/n=10000/USNO 35.9 ± 0.59 ms 36.4 ± 0.74 ms 0.984 ± 0.026
solposx/n=10000/Walraven 2.72 ± 0.087 ms 2.7 ± 0.029 ms 1.01 ± 0.034
solposx/n=100000/Iqbal 23.2 ± 0.77 ms 23 ± 0.65 ms 1.01 ± 0.044
solposx/n=100000/NOAA 57.5 ± 0.44 ms 57.4 ± 0.26 ms 1 ± 0.0089
solposx/n=100000/PSA 27.7 ± 0.81 ms 27.9 ± 0.6 ms 0.993 ± 0.036
solposx/n=100000/SPA 310 ± 3.7 ms 312 ± 0.83 ms 0.994 ± 0.012
solposx/n=100000/USNO 357 ± 30 ms 360 ± 37 ms 0.992 ± 0.13
solposx/n=100000/Walraven 21.4 ± 0.62 ms 21.1 ± 0.39 ms 1.01 ± 0.035
time_to_load 0.141 ± 0.0013 s 0.0835 ± 0.0016 s 1.69 ± 0.036
Memory benchmarks
main 27afd4a... main / 27afd4a...
ours/n=100/Interpolated 10 allocs: 4.53 kB 10 allocs: 4.53 kB 1
ours/n=100/Iqbal 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=100/Michalsky 10 allocs: 4.53 kB 10 allocs: 4.53 kB 1
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 10 allocs: 4.53 kB 10 allocs: 4.53 kB 1
ours/n=100/USNO 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=100/Walraven 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=1000/Interpolated 15 allocs: 0.0385 MB 15 allocs: 0.0385 MB 1
ours/n=1000/Iqbal 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=1000/Michalsky 15 allocs: 0.0385 MB 15 allocs: 0.0385 MB 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 15 allocs: 0.0385 MB 15 allocs: 0.0385 MB 1
ours/n=1000/USNO 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=1000/Walraven 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=10000/Interpolated 15 allocs: 0.382 MB 15 allocs: 0.382 MB 1
ours/n=10000/Iqbal 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=10000/Michalsky 15 allocs: 0.382 MB 15 allocs: 0.382 MB 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 15 allocs: 0.382 MB 15 allocs: 0.382 MB 1
ours/n=10000/USNO 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=10000/Walraven 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=100000/Interpolated 15 allocs: 3.82 MB 15 allocs: 3.82 MB 1
ours/n=100000/Iqbal 9 allocs: 2.29 MB 9 allocs: 2.29 MB 1
ours/n=100000/Michalsky 15 allocs: 3.82 MB 15 allocs: 3.82 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 15 allocs: 3.82 MB 15 allocs: 3.82 MB 1
ours/n=100000/USNO 9 allocs: 2.29 MB 9 allocs: 2.29 MB 1
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/Interpolated 0 allocs: 0 B 0 allocs: 0 B
single/Iqbal 0 allocs: 0 B 0 allocs: 0 B
single/Michalsky 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 0 allocs: 0 B
single/USNO 0 allocs: 0 B 0 allocs: 0 B
single/Walraven 0 allocs: 0 B 0 allocs: 0 B
solposx/n=100/Iqbal 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100/NOAA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100/PSA 0.039 k allocs: 1.2 kB 0.039 k allocs: 1.2 kB 1
solposx/n=100/SPA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100/USNO 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100/Walraven 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=1000/Iqbal 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=1000/NOAA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=1000/PSA 0.039 k allocs: 1.2 kB 0.039 k allocs: 1.2 kB 1
solposx/n=1000/SPA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=1000/USNO 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=1000/Walraven 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=10000/Iqbal 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=10000/NOAA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=10000/PSA 0.039 k allocs: 1.2 kB 0.039 k allocs: 1.2 kB 1
solposx/n=10000/SPA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=10000/USNO 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=10000/Walraven 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100000/Iqbal 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100000/NOAA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100000/PSA 0.039 k allocs: 1.2 kB 0.039 k allocs: 1.2 kB 1
solposx/n=100000/SPA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100000/USNO 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100000/Walraven 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
time_to_load 0.145 k allocs: 11 kB 0.145 k allocs: 11 kB 1

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia vlts)

Time benchmarks
main 27afd4a... main / 27afd4a...
ours/n=100/Interpolated 0.0284 ± 0.00034 ms 0.0285 ± 0.00039 ms 0.998 ± 0.018
ours/n=100/Iqbal 0.0146 ± 0.002 ms 0.0146 ± 0.002 ms 1 ± 0.19
ours/n=100/Michalsky 0.0337 ± 0.00029 ms 0.0336 ± 0.00039 ms 1 ± 0.014
ours/n=100/NOAA 0.0422 ± 0.00038 ms 0.0422 ± 0.0004 ms 1 ± 0.013
ours/n=100/PSA 0.0175 ± 0.00021 ms 0.0194 ± 0.0021 ms 0.902 ± 0.098
ours/n=100/SPA 0.293 ± 0.0079 ms 0.294 ± 0.0084 ms 0.995 ± 0.039
ours/n=100/USNO 0.0397 ± 0.0021 ms 0.0397 ± 0.0021 ms 1 ± 0.074
ours/n=100/Walraven 0.0207 ± 0.00021 ms 0.0206 ± 0.00018 ms 1 ± 0.014
ours/n=1000/Interpolated 0.276 ± 0.02 ms 0.266 ± 0.0083 ms 1.04 ± 0.083
ours/n=1000/Iqbal 0.133 ± 0.001 ms 0.133 ± 0.00066 ms 1 ± 0.0091
ours/n=1000/Michalsky 0.31 ± 0.0092 ms 0.309 ± 0.0086 ms 1 ± 0.041
ours/n=1000/NOAA 0.395 ± 0.009 ms 0.395 ± 0.0086 ms 1 ± 0.032
ours/n=1000/PSA 0.183 ± 0.011 ms 0.179 ± 0.011 ms 1.02 ± 0.088
ours/n=1000/SPA 3.01 ± 0.021 ms 3 ± 0.0075 ms 1 ± 0.0076
ours/n=1000/USNO 0.374 ± 0.0086 ms 0.373 ± 0.009 ms 1 ± 0.033
ours/n=1000/Walraven 0.214 ± 0.012 ms 0.215 ± 0.012 ms 0.997 ± 0.078
ours/n=10000/Interpolated 2.76 ± 0.0098 ms 2.77 ± 0.0076 ms 0.996 ± 0.0045
ours/n=10000/Iqbal 1.4 ± 0.01 ms 1.4 ± 0.0094 ms 1 ± 0.01
ours/n=10000/Michalsky 3.18 ± 0.014 ms 3.17 ± 0.011 ms 1 ± 0.0057
ours/n=10000/NOAA 3.99 ± 0.018 ms 3.99 ± 0.0089 ms 1 ± 0.0051
ours/n=10000/PSA 1.75 ± 0.0062 ms 1.75 ± 0.0067 ms 0.998 ± 0.0052
ours/n=10000/SPA 30.6 ± 0.23 ms 30.6 ± 0.21 ms 0.997 ± 0.01
ours/n=10000/USNO 3.79 ± 0.03 ms 3.78 ± 0.016 ms 1 ± 0.009
ours/n=10000/Walraven 2.08 ± 0.011 ms 2.07 ± 0.012 ms 1 ± 0.0079
ours/n=100000/Interpolated 27.7 ± 0.08 ms 27.8 ± 0.11 ms 0.997 ± 0.0049
ours/n=100000/Iqbal 14 ± 0.065 ms 14 ± 0.059 ms 1 ± 0.0063
ours/n=100000/Michalsky 32.1 ± 0.15 ms 32 ± 0.12 ms 1 ± 0.006
ours/n=100000/NOAA 41.1 ± 0.09 ms 41.1 ± 0.17 ms 1 ± 0.0047
ours/n=100000/PSA 17.7 ± 0.056 ms 17.8 ± 0.051 ms 0.998 ± 0.0043
ours/n=100000/SPA 309 ± 2.3 ms 309 ± 2.1 ms 1 ± 0.01
ours/n=100000/USNO 38.6 ± 0.13 ms 38.6 ± 0.18 ms 0.999 ± 0.0059
ours/n=100000/Walraven 20.8 ± 0.098 ms 20.8 ± 0.087 ms 1 ± 0.0063
refraction/ARCHER 0.00026 ± 1e-06 ms 0.000261 ± 1e-05 ms 0.996 ± 0.038
refraction/BENNETT 0.000251 ± 1e-05 ms 0.000251 ± 1e-05 ms 1 ± 0.056
refraction/MICHALSKY 0.00022 ± 1e-06 ms 0.00022 ± 1e-06 ms 1 ± 0.0064
refraction/NoRefraction 0.00022 ± 1e-06 ms 0.000211 ± 1e-05 ms 1.04 ± 0.05
refraction/SG2 0.00027 ± 1e-05 ms 0.00027 ± 1e-05 ms 1 ± 0.052
single/Interpolated 0.00041 ± 1e-06 ms 0.00041 ± 1e-05 ms 1 ± 0.025
single/Iqbal 0.00019 ± 0 ms 0.00019 ± 9e-06 ms 1 ± 0.047
single/Michalsky 0.000341 ± 1e-05 ms 0.00035 ± 1e-05 ms 0.974 ± 0.04
single/NOAA 0.000451 ± 1e-06 ms 0.000451 ± 1e-06 ms 1 ± 0.0031
single/PSA 0.000211 ± 1e-05 ms 0.000211 ± 1e-05 ms 1 ± 0.067
single/SPA 0.00304 ± 1e-05 ms 0.00306 ± 1e-05 ms 0.994 ± 0.0046
single/USNO 0.000421 ± 1e-06 ms 0.000411 ± 9e-06 ms 1.02 ± 0.023
single/Walraven 0.000251 ± 1e-05 ms 0.000251 ± 1e-05 ms 1 ± 0.056
solposx/n=100/Iqbal 1.59 ± 0.025 ms 1.62 ± 0.03 ms 0.977 ± 0.023
solposx/n=100/NOAA 2.89 ± 0.043 ms 2.93 ± 0.032 ms 0.984 ± 0.018
solposx/n=100/PSA 1.98 ± 0.026 ms 2 ± 0.037 ms 0.993 ± 0.022
solposx/n=100/SPA 3.05 ± 0.085 ms 3.06 ± 0.099 ms 0.997 ± 0.043
solposx/n=100/USNO 2.39 ± 0.03 ms 2.42 ± 0.032 ms 0.986 ± 0.018
solposx/n=100/Walraven 0.829 ± 0.016 ms 0.846 ± 0.018 ms 0.98 ± 0.028
solposx/n=1000/Iqbal 1.84 ± 0.028 ms 1.88 ± 0.023 ms 0.98 ± 0.019
solposx/n=1000/NOAA 3.45 ± 0.041 ms 3.55 ± 0.044 ms 0.972 ± 0.017
solposx/n=1000/PSA 2.34 ± 0.037 ms 2.33 ± 0.03 ms 1 ± 0.02
solposx/n=1000/SPA 7.63 ± 0.075 ms 7.53 ± 0.12 ms 1.01 ± 0.019
solposx/n=1000/USNO 6.43 ± 0.057 ms 6.56 ± 0.056 ms 0.979 ± 0.012
solposx/n=1000/Walraven 1.12 ± 0.024 ms 1.13 ± 0.024 ms 0.988 ± 0.03
solposx/n=10000/Iqbal 4.6 ± 0.12 ms 4.63 ± 0.1 ms 0.993 ± 0.034
solposx/n=10000/NOAA 9.44 ± 0.19 ms 9.53 ± 0.2 ms 0.99 ± 0.029
solposx/n=10000/PSA 5.67 ± 0.15 ms 5.7 ± 0.13 ms 0.996 ± 0.035
solposx/n=10000/SPA 48.8 ± 0.2 ms 48.9 ± 0.2 ms 0.997 ± 0.0057
solposx/n=10000/USNO 46.3 ± 0.61 ms 46.8 ± 0.61 ms 0.989 ± 0.018
solposx/n=10000/Walraven 3.74 ± 0.057 ms 3.75 ± 0.053 ms 0.996 ± 0.021
solposx/n=100000/Iqbal 31.6 ± 0.92 ms 31.5 ± 0.91 ms 1 ± 0.041
solposx/n=100000/NOAA 68.2 ± 0.34 ms 68 ± 0.41 ms 1 ± 0.0078
solposx/n=100000/PSA 39.1 ± 1 ms 39.1 ± 0.88 ms 1 ± 0.034
solposx/n=100000/SPA 462 ± 2.3 ms 458 ± 2.3 ms 1.01 ± 0.007
solposx/n=100000/USNO 457 ± 34 ms 459 ± 36 ms 0.996 ± 0.11
solposx/n=100000/Walraven 29.2 ± 0.35 ms 29.2 ± 0.38 ms 0.998 ± 0.018
time_to_load 0.167 ± 0.0017 s 0.113 ± 0.00066 s 1.48 ± 0.017
Memory benchmarks
main 27afd4a... main / 27afd4a...
ours/n=100/Interpolated 5 allocs: 4.38 kB 5 allocs: 4.38 kB 1
ours/n=100/Iqbal 3 allocs: 2.62 kB 3 allocs: 2.62 kB 1
ours/n=100/Michalsky 5 allocs: 4.38 kB 5 allocs: 4.38 kB 1
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 5 allocs: 4.38 kB 5 allocs: 4.38 kB 1
ours/n=100/USNO 3 allocs: 2.62 kB 3 allocs: 2.62 kB 1
ours/n=100/Walraven 3 allocs: 2.62 kB 3 allocs: 2.62 kB 1
ours/n=1000/Interpolated 5 allocs: 0.0388 MB 5 allocs: 0.0388 MB 1
ours/n=1000/Iqbal 3 allocs: 23.8 kB 3 allocs: 23.8 kB 1
ours/n=1000/Michalsky 5 allocs: 0.0388 MB 5 allocs: 0.0388 MB 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 5 allocs: 0.0388 MB 5 allocs: 0.0388 MB 1
ours/n=1000/USNO 3 allocs: 23.8 kB 3 allocs: 23.8 kB 1
ours/n=1000/Walraven 3 allocs: 23.8 kB 3 allocs: 23.8 kB 1
ours/n=10000/Interpolated 10 allocs: 0.382 MB 10 allocs: 0.382 MB 1
ours/n=10000/Iqbal 6 allocs: 0.229 MB 6 allocs: 0.229 MB 1
ours/n=10000/Michalsky 10 allocs: 0.382 MB 10 allocs: 0.382 MB 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 10 allocs: 0.382 MB 10 allocs: 0.382 MB 1
ours/n=10000/USNO 6 allocs: 0.229 MB 6 allocs: 0.229 MB 1
ours/n=10000/Walraven 6 allocs: 0.229 MB 6 allocs: 0.229 MB 1
ours/n=100000/Interpolated 10 allocs: 3.81 MB 10 allocs: 3.81 MB 1
ours/n=100000/Iqbal 6 allocs: 2.29 MB 6 allocs: 2.29 MB 1
ours/n=100000/Michalsky 10 allocs: 3.81 MB 10 allocs: 3.81 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 10 allocs: 3.81 MB 10 allocs: 3.81 MB 1
ours/n=100000/USNO 6 allocs: 2.29 MB 6 allocs: 2.29 MB 1
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/Interpolated 0 allocs: 0 B 0 allocs: 0 B
single/Iqbal 0 allocs: 0 B 0 allocs: 0 B
single/Michalsky 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 0 allocs: 0 B
single/USNO 0 allocs: 0 B 0 allocs: 0 B
single/Walraven 0 allocs: 0 B 0 allocs: 0 B
solposx/n=100/Iqbal 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=100/NOAA 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=100/PSA 0.057 k allocs: 1.61 kB 0.057 k allocs: 1.61 kB 1
solposx/n=100/SPA 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=100/USNO 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=100/Walraven 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=1000/Iqbal 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=1000/NOAA 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=1000/PSA 0.057 k allocs: 1.61 kB 0.057 k allocs: 1.61 kB 1
solposx/n=1000/SPA 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=1000/USNO 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=1000/Walraven 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=10000/Iqbal 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=10000/NOAA 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=10000/PSA 0.057 k allocs: 1.61 kB 0.057 k allocs: 1.61 kB 1
solposx/n=10000/SPA 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=10000/USNO 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=10000/Walraven 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=100000/Iqbal 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=100000/NOAA 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=100000/PSA 0.057 k allocs: 1.61 kB 0.057 k allocs: 1.61 kB 1
solposx/n=100000/SPA 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=100000/USNO 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
solposx/n=100000/Walraven 19 allocs: 0.734 kB 19 allocs: 0.734 kB 1
time_to_load 0.153 k allocs: 14.5 kB 0.153 k allocs: 14.5 kB 1

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia vpre)

Time benchmarks
main 27afd4a... main / 27afd4a...
ours/n=100/Interpolated 0.0261 ± 0.00027 ms 0.026 ± 0.00023 ms 1.01 ± 0.014
ours/n=100/Iqbal 0.0131 ± 0.0001 ms 0.0132 ± 0.00012 ms 0.994 ± 0.012
ours/n=100/Michalsky 0.0313 ± 0.00016 ms 0.0316 ± 0.00019 ms 0.992 ± 0.0079
ours/n=100/NOAA 0.0424 ± 0.00023 ms 0.0423 ± 0.00018 ms 1 ± 0.0069
ours/n=100/PSA 0.0166 ± 0.00014 ms 0.0165 ± 0.00016 ms 1 ± 0.013
ours/n=100/SPA 0.422 ± 0.0085 ms 0.423 ± 0.0085 ms 0.996 ± 0.028
ours/n=100/USNO 0.0403 ± 0.00034 ms 0.0405 ± 0.00029 ms 0.996 ± 0.011
ours/n=100/Walraven 0.02 ± 0.00011 ms 0.0195 ± 0.00048 ms 1.02 ± 0.026
ours/n=1000/Interpolated 0.258 ± 0.0092 ms 0.258 ± 0.0098 ms 1 ± 0.052
ours/n=1000/Iqbal 0.134 ± 0.0074 ms 0.135 ± 0.0078 ms 0.993 ± 0.079
ours/n=1000/Michalsky 0.311 ± 0.0089 ms 0.313 ± 0.0089 ms 0.996 ± 0.04
ours/n=1000/NOAA 0.416 ± 0.0086 ms 0.416 ± 0.0088 ms 0.999 ± 0.029
ours/n=1000/PSA 0.166 ± 0.0081 ms 0.166 ± 0.0082 ms 0.998 ± 0.069
ours/n=1000/SPA 4.34 ± 0.069 ms 4.24 ± 0.015 ms 1.03 ± 0.017
ours/n=1000/USNO 0.394 ± 0.0086 ms 0.396 ± 0.0088 ms 0.994 ± 0.031
ours/n=1000/Walraven 0.195 ± 0.008 ms 0.195 ± 0.008 ms 1 ± 0.058
ours/n=10000/Interpolated 2.69 ± 0.017 ms 2.68 ± 0.017 ms 1 ± 0.0091
ours/n=10000/Iqbal 1.42 ± 0.01 ms 1.43 ± 0.012 ms 0.993 ± 0.011
ours/n=10000/Michalsky 3.22 ± 0.015 ms 3.24 ± 0.018 ms 0.994 ± 0.0071
ours/n=10000/NOAA 4.17 ± 0.014 ms 4.18 ± 0.023 ms 0.999 ± 0.0064
ours/n=10000/PSA 1.68 ± 0.0078 ms 1.68 ± 0.0093 ms 0.999 ± 0.0072
ours/n=10000/SPA 43.3 ± 0.75 ms 43.1 ± 0.14 ms 1 ± 0.018
ours/n=10000/USNO 3.97 ± 0.013 ms 4 ± 0.05 ms 0.992 ± 0.013
ours/n=10000/Walraven 1.97 ± 0.0059 ms 1.97 ± 0.011 ms 1 ± 0.0062
ours/n=100000/Interpolated 27.4 ± 1.5 ms 27.4 ± 1.6 ms 1 ± 0.082
ours/n=100000/Iqbal 14.3 ± 0.46 ms 14.4 ± 0.94 ms 0.994 ± 0.073
ours/n=100000/Michalsky 32.4 ± 1.6 ms 32.6 ± 1.6 ms 0.996 ± 0.069
ours/n=100000/NOAA 42.6 ± 1.1 ms 42.8 ± 1.6 ms 0.997 ± 0.045
ours/n=100000/PSA 16.9 ± 0.45 ms 16.9 ± 0.42 ms 1 ± 0.036
ours/n=100000/SPA 439 ± 1.2 ms 441 ± 1.1 ms 0.995 ± 0.0036
ours/n=100000/USNO 40.2 ± 0.65 ms 40.5 ± 0.11 ms 0.993 ± 0.016
ours/n=100000/Walraven 19.7 ± 0.52 ms 19.7 ± 0.94 ms 1 ± 0.055
refraction/ARCHER 0.00024 ± 1e-05 ms 0.00024 ± 1e-05 ms 1 ± 0.059
refraction/BENNETT 0.00024 ± 1e-05 ms 0.00024 ± 1e-05 ms 1 ± 0.059
refraction/MICHALSKY 0.0002 ± 1e-06 ms 0.0002 ± 1e-06 ms 1 ± 0.0071
refraction/NoRefraction 0.0002 ± 9e-06 ms 0.0002 ± 9e-06 ms 1 ± 0.064
refraction/SG2 0.00025 ± 1e-06 ms 0.00025 ± 1e-06 ms 1 ± 0.0057
single/Interpolated 0.000531 ± 4e-05 ms 0.000401 ± 0 ms 1.32 ± 0.1
single/Iqbal 0.00018 ± 1e-06 ms 0.00018 ± 1e-06 ms 1 ± 0.0079
single/Michalsky 0.000331 ± 1e-06 ms 0.000321 ± 1e-05 ms 1.03 ± 0.032
single/NOAA 0.000451 ± 0 ms 0.000451 ± 0 ms 1 ± 0
single/PSA 0.0002 ± 1e-05 ms 0.0002 ± 1e-05 ms 1 ± 0.071
single/SPA 0.00394 ± 5.9e-05 ms 0.00389 ± 2e-05 ms 1.01 ± 0.016
single/USNO 0.000411 ± 1e-06 ms 0.000411 ± 1e-06 ms 1 ± 0.0034
single/Walraven 0.000231 ± 1e-05 ms 0.000231 ± 1e-06 ms 1 ± 0.044
solposx/n=100/Iqbal 2.26 ± 0.032 ms 2.2 ± 0.04 ms 1.03 ± 0.024
solposx/n=100/NOAA 4.09 ± 0.05 ms 4.01 ± 0.05 ms 1.02 ± 0.018
solposx/n=100/PSA 2.88 ± 0.038 ms 2.84 ± 0.036 ms 1.01 ± 0.019
solposx/n=100/SPA 3.09 ± 0.027 ms 3.09 ± 0.026 ms 1 ± 0.012
solposx/n=100/USNO 3.13 ± 0.036 ms 3.05 ± 0.058 ms 1.02 ± 0.023
solposx/n=100/Walraven 1.15 ± 0.02 ms 1.12 ± 0.024 ms 1.02 ± 0.028
solposx/n=1000/Iqbal 2.56 ± 0.038 ms 2.47 ± 0.051 ms 1.03 ± 0.026
solposx/n=1000/NOAA 4.77 ± 0.063 ms 4.6 ± 0.064 ms 1.04 ± 0.02
solposx/n=1000/PSA 3.29 ± 0.042 ms 3.24 ± 0.076 ms 1.02 ± 0.027
solposx/n=1000/SPA 7.64 ± 0.051 ms 7.6 ± 0.039 ms 1 ± 0.0085
solposx/n=1000/USNO 7.32 ± 0.068 ms 7.14 ± 0.08 ms 1.03 ± 0.015
solposx/n=1000/Walraven 1.45 ± 0.032 ms 1.42 ± 0.032 ms 1.02 ± 0.032
solposx/n=10000/Iqbal 5.31 ± 0.083 ms 5.25 ± 0.082 ms 1.01 ± 0.022
solposx/n=10000/NOAA 10.6 ± 0.12 ms 10.5 ± 0.12 ms 1 ± 0.016
solposx/n=10000/PSA 6.62 ± 0.071 ms 6.58 ± 0.069 ms 1.01 ± 0.015
solposx/n=10000/SPA 50.4 ± 0.44 ms 50.4 ± 0.39 ms 1 ± 0.012
solposx/n=10000/USNO 49.1 ± 0.66 ms 48.1 ± 0.6 ms 1.02 ± 0.019
solposx/n=10000/Walraven 3.97 ± 0.039 ms 3.91 ± 0.038 ms 1.01 ± 0.014
solposx/n=100000/Iqbal 30.7 ± 0.38 ms 30.5 ± 0.46 ms 1.01 ± 0.02
solposx/n=100000/NOAA 66.2 ± 0.6 ms 66.5 ± 0.69 ms 0.996 ± 0.014
solposx/n=100000/PSA 38.9 ± 0.47 ms 39 ± 0.46 ms 0.997 ± 0.017
solposx/n=100000/SPA 496 ± 12 ms 501 ± 8.9 ms 0.991 ± 0.029
solposx/n=100000/USNO 475 ± 29 ms 464 ± 29 ms 1.02 ± 0.088
solposx/n=100000/Walraven 28.5 ± 0.41 ms 28.7 ± 0.46 ms 0.994 ± 0.021
time_to_load 0.124 ± 0.0004 s 0.0708 ± 0.0014 s 1.75 ± 0.035
Memory benchmarks
main 27afd4a... main / 27afd4a...
ours/n=100/Interpolated 10 allocs: 4.53 kB 10 allocs: 4.53 kB 1
ours/n=100/Iqbal 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=100/Michalsky 10 allocs: 4.53 kB 10 allocs: 4.53 kB 1
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 10 allocs: 4.53 kB 10 allocs: 4.53 kB 1
ours/n=100/USNO 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=100/Walraven 6 allocs: 2.72 kB 6 allocs: 2.72 kB 1
ours/n=1000/Interpolated 15 allocs: 0.0385 MB 15 allocs: 0.0385 MB 1
ours/n=1000/Iqbal 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=1000/Michalsky 15 allocs: 0.0385 MB 15 allocs: 0.0385 MB 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 15 allocs: 0.0385 MB 15 allocs: 0.0385 MB 1
ours/n=1000/USNO 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=1000/Walraven 9 allocs: 23.6 kB 9 allocs: 23.6 kB 1
ours/n=10000/Interpolated 15 allocs: 0.382 MB 15 allocs: 0.382 MB 1
ours/n=10000/Iqbal 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=10000/Michalsky 15 allocs: 0.382 MB 15 allocs: 0.382 MB 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 15 allocs: 0.382 MB 15 allocs: 0.382 MB 1
ours/n=10000/USNO 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=10000/Walraven 9 allocs: 0.229 MB 9 allocs: 0.229 MB 1
ours/n=100000/Interpolated 15 allocs: 3.82 MB 15 allocs: 3.82 MB 1
ours/n=100000/Iqbal 9 allocs: 2.29 MB 9 allocs: 2.29 MB 1
ours/n=100000/Michalsky 15 allocs: 3.82 MB 15 allocs: 3.82 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 15 allocs: 3.82 MB 15 allocs: 3.82 MB 1
ours/n=100000/USNO 9 allocs: 2.29 MB 9 allocs: 2.29 MB 1
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/Interpolated 0 allocs: 0 B 0 allocs: 0 B
single/Iqbal 0 allocs: 0 B 0 allocs: 0 B
single/Michalsky 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 0 allocs: 0 B
single/USNO 0 allocs: 0 B 0 allocs: 0 B
single/Walraven 0 allocs: 0 B 0 allocs: 0 B
solposx/n=100/Iqbal 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100/NOAA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100/PSA 0.039 k allocs: 1.2 kB 0.039 k allocs: 1.2 kB 1
solposx/n=100/SPA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100/USNO 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100/Walraven 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=1000/Iqbal 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=1000/NOAA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=1000/PSA 0.039 k allocs: 1.2 kB 0.039 k allocs: 1.2 kB 1
solposx/n=1000/SPA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=1000/USNO 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=1000/Walraven 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=10000/Iqbal 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=10000/NOAA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=10000/PSA 0.039 k allocs: 1.2 kB 0.039 k allocs: 1.2 kB 1
solposx/n=10000/SPA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=10000/USNO 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=10000/Walraven 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100000/Iqbal 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100000/NOAA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100000/PSA 0.039 k allocs: 1.2 kB 0.039 k allocs: 1.2 kB 1
solposx/n=100000/SPA 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100000/USNO 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
solposx/n=100000/Walraven 10 allocs: 0.531 kB 10 allocs: 0.531 kB 1
time_to_load 0.205 k allocs: 11.9 kB 0.205 k allocs: 11.9 kB 1

@codecov

codecov Bot commented Jul 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (8a0b6c0) to head (27afd4a).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #121   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           21        21           
  Lines          811       754   -57     
=========================================
- Hits           811       754   -57     

☔ View full report in Codecov by Harness.
📢 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 e150bcb into main Jul 30, 2026
18 checks passed
@langestefan
langestefan deleted the feature/timezones-extension branch July 30, 2026 22:27
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.

1 participant