Skip to content

avoid precompile cache miss from check-bounds option - #806

Merged
cjdoris merged 1 commit into
mainfrom
pass-julia-args
Aug 14, 2026
Merged

avoid precompile cache miss from check-bounds option#806
cjdoris merged 1 commit into
mainfrom
pass-julia-args

Conversation

@cjdoris

@cjdoris cjdoris commented Aug 14, 2026

Copy link
Copy Markdown
Member

Fixes JuliaPy/pyjuliapkg#92

Does so by passing precompile-relevant julia args into juliapkg.resolve() so that it precompiles with the same args as juliacall uses.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia v1)

Time benchmarks
main f2520ef... main / f2520ef...
basic/@py/pydict/init 0.263 ± 0.057 ms 0.26 ± 0.064 ms 1.01 ± 0.33
basic/@py/pydict/pydel 0.261 ± 0.035 ms 0.259 ± 0.027 ms 1.01 ± 0.17
basic/julia/pydict/init 0.234 ± 0.073 ms 0.23 ± 0.078 ms 1.02 ± 0.47
basic/julia/pydict/pydel 0.237 ± 0.045 ms 0.235 ± 0.05 ms 1 ± 0.29
gc/full 0.648 ± 0.0067 s 0.655 ± 0.0045 s 0.99 ± 0.012
time_to_load 2.14 ± 0.056 s 2.09 ± 0.0032 s 1.02 ± 0.027
Memory benchmarks
main f2520ef... main / f2520ef...
basic/@py/pydict/init 5.01 k allocs: 0.0764 MB 5.01 k allocs: 0.0764 MB 1
basic/@py/pydict/pydel 5.01 k allocs: 0.0764 MB 5.01 k allocs: 0.0764 MB 1
basic/julia/pydict/init 4.01 k allocs: 0.0612 MB 4.01 k allocs: 0.0612 MB 1
basic/julia/pydict/pydel 4.01 k allocs: 0.0612 MB 4.01 k allocs: 0.0612 MB 1
gc/full 0 allocs: 0 B 0 allocs: 0 B
time_to_load 0.143 k allocs: 10.6 kB 0.143 k allocs: 10.6 kB 1

@cjdoris

cjdoris commented Aug 14, 2026

Copy link
Copy Markdown
Member Author

Test failures are unrelated (and mysterious).

@cjdoris
cjdoris merged commit 6b6eb37 into main Aug 14, 2026
16 of 18 checks passed
@cjdoris
cjdoris deleted the pass-julia-args branch August 14, 2026 15:30
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.

If using resolve and with PYTHON_JULIACALL_CHECK_BOUNDS: yes will always precompile twice.

1 participant