Skip to content

refactor: R{FST}(buffer, offset) record constructor style#52

Merged
Beforerr merged 1 commit into
mainfrom
push-wnupwnmmovxn
Jun 11, 2026
Merged

refactor: R{FST}(buffer, offset) record constructor style#52
Beforerr merged 1 commit into
mainfrom
push-wnupwnmmovxn

Conversation

@Beforerr

@Beforerr Beforerr commented Jun 11, 2026

Copy link
Copy Markdown
Member

Move the field-size type from a trailing positional argument into the
type parameter for the records that already carry it (CDR, GDR, VDR,
rVDR, VXR, ADR). CPR/CCR/CVVR keep the positional form: their structs
are not parameterized by FST — there it is a parsing parameter, not
type identity. No behavior change; trim-equivalent (where-param either
way).

Move the field-size type from a trailing positional argument into the
type parameter for the records that already carry it (CDR, GDR, VDR,
rVDR, VXR, ADR). CPR/CCR/CVVR keep the positional form: their structs
are not parameterized by FST — there it is a parsing parameter, not
type identity. No behavior change; trim-equivalent (where-param either
way).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia v1)

Time benchmarks
main b1d10fd... main / b1d10fd...
elx/full_load 0.0387 ± 0.0021 ms 0.0385 ± 0.0021 ms 1.01 ± 0.077
elx/sum_array 2.83 ± 0.65 μs 2.98 ± 0.4 μs 0.95 ± 0.25
elx/sum_lazy 3.02 ± 1.1 μs 3.02 ± 0.61 μs 1 ± 0.41
elx/sum_var_access 3.4 ± 0.57 μs 3.39 ± 0.47 μs 1 ± 0.22
elx/var_access 0.31 ± 0.01 μs 0.31 ± 0.001 μs 1 ± 0.032
mms/full_load 22.2 ± 2 μs 22.3 ± 2.2 μs 0.996 ± 0.13
mms/sum_array 0.0953 ± 0.013 s 0.0953 ± 0.0026 s 1 ± 0.14
mms/sum_slice 3.58 ± 0.057 ms 3.58 ± 0.08 ms 0.999 ± 0.027
mms/sum_var_access 3.57 ± 0.047 ms 3.57 ± 0.06 ms 1 ± 0.021
mms/var_access 0.111 ± 0.01 μs 0.11 ± 0 μs 1.01 ± 0.091
time_to_load 0.135 ± 0.0013 s 0.134 ± 0.0021 s 1 ± 0.018
Memory benchmarks
main b1d10fd... main / b1d10fd...
elx/full_load 0.246 k allocs: 27.9 kB 0.246 k allocs: 27.9 kB 1
elx/sum_array 5 allocs: 27.7 kB 5 allocs: 27.7 kB 1
elx/sum_lazy 5 allocs: 27.7 kB 5 allocs: 27.7 kB 1
elx/sum_var_access 8 allocs: 28.1 kB 8 allocs: 28.1 kB 1
elx/var_access 2 allocs: 0.328 kB 2 allocs: 0.328 kB 1
mms/full_load 0.071 k allocs: 7.2 kB 0.071 k allocs: 7.2 kB 1
mms/sum_array 0.524 k allocs: 31.6 MB 0.524 k allocs: 31.6 MB 1
mms/sum_slice 0.045 k allocs: 1.29 MB 0.045 k allocs: 1.29 MB 1
mms/sum_var_access 0.045 k allocs: 1.29 MB 0.045 k allocs: 1.29 MB 1
mms/var_access 2 allocs: 0.328 kB 2 allocs: 0.328 kB 1
time_to_load 0.145 k allocs: 11 kB 0.145 k allocs: 11 kB 1

@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Beforerr Beforerr merged commit b856002 into main Jun 11, 2026
7 checks passed
@Beforerr Beforerr deleted the push-wnupwnmmovxn branch June 11, 2026 22:41
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