I understand that -p
enables --release
which can change settings... but when looking at logs, little seems changed. On the smallest example, I only see -w -native-compiler-disabled -native-compiler ondemand
passed in the normal build but not in the release build...
maybe I should just stick to dune install foo --prefix=...
, and not use -p
on my dev machine
Release uses a different set of optimizations flags, in particular it enables OCaml's inter-module optimizations, which makes incremental builds much slower as due to inlining etc... if you change a module implementation now you have to rebuild all of the things that depend _on the interface_
but for pure Coq code?
Coq code needs to be rebuilt as coqc
is different
for pure Coq code does nothing ATM
we use the same flags, tho in release we allow to enable native for example
dev skips native compilation explictly
wait wait, I'm not building coq
Oh, I see what you mean
indeed the rebuild seems like a bug
I agree
Dune is rebuilding as the flags are different
but I think there is not reason to have them different in your case indeed, can you open a bug in dune upstream so I keep track of this for 2.9?
When analyzing what should be rebuilt
Dune keeps track not only of the deps, but also of the rule
so in this case we changed the rule [due to the flags] hence the rebuild
does it make sense @Paolo Giarrusso ?
thanks for reporting this
we agree and I'm filing that bug
By the way, the question of what dev / release etc... could mean for Coq is open
so if you have any suggestion
.v -> .vio -> .vo is usually slower than going to .vo directly
vos / vok seem like a too radical thing
so we will add it's own target, not profile
filed https://github.com/ocaml/dune/issues/4553
vio/vos/vok
+ caching would be great; I thought that vio
was deprecated, but IIUC the problem was only about the build system so maybe you can recover it with dune
?
but I'm not sure even vio
relates to releases?
I dunno about vio, it is not widely used as it produces files quadratic in size w.r.t. to the document + some other stuff
ah I see — the idea's that dev
mode could use some of those modes to speed up those builds
Yeah, we have these modes [and we could have even more]
Last updated: Jun 04 2023 at 23:30 UTC