Skip to content

Conversation

@dae
Copy link
Contributor

@dae dae commented Oct 24, 2021

Whenever the pyo3 config file has its modification time bumped, the
pyo3 crates and python-oxidized-importer get recompiled, which adds
to the build time. This change brings an incremental 'pyoxidizer build'
time down from ~24 seconds to ~10 seconds.

This only makes sense in conjunction with something like #468, as
otherwise all Rust crates get recompiled each time anyway.

Whenever the pyo3 config file has its modification time bumped, the
pyo3 crates and python-oxidized-importer get recompiled, which adds
to the build time. This change brings my incremental build time down
from ~24 seconds to ~10 seconds
@dae
Copy link
Contributor Author

dae commented Oct 24, 2021

Presented mainly for discussion - I will probably end up going with #466 for now instead, and this doesn't help there, as the artifacts don't seem to get regenerated by run-build-script if they're not removed first. I ended up with a different workaround of copying the generated pyo3 config into a separate folder, and preserving its mtime when it was unchanged, then pointing PYO3_CONFIG_FILE to that other location. It allows me to rebuild the artifacts each time, without the extra crate rebuilding. Compared to 'pyoxidizer build', an incremental build is ~8s.

@indygreg indygreg force-pushed the main branch 3 times, most recently from 8f998b7 to 5c5ac33 Compare December 1, 2021 03:16
@indygreg indygreg force-pushed the main branch 2 times, most recently from 5e0524b to 789c62e Compare May 31, 2022 04:07
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