-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Throwing more memory at Coq #2
Comments
Thanks, I was silly to not use |
Hm, I've never used it myself, but it should work with Coq as a whole, as Coq is an OCaml program. Does cc @gasche (Maybe |
It does print. It seems I just used the wrong parameter syntax. Edit: it probably also seemed to me like nothing is happening, because I can't seem to avoid stack overflow by setting |
It appears that throwing more memory at Coq barely affects benchmark performance, even though the GC stats clearly indicate that the number of collections is very small when I set minor/major heap sizes. |
This doesn't surprise me very much. I think the only thing I've seen that's been dominated by GC time has been defining a record with an enormously large number of fields. I expect that conversion doesn't allocate long-lived things that are eventually garbage collected much, and the normalization of the VM is written in C with careful manual memory management. (No idea about why there's no impact on cbv, lazy, and native.). By the way, I expect that some of the native_compute times may be dominated by the large constant overhead of running the OCaml compiler, and I want to note that the read back pass from vm_compute is quadratic in the number of nested binders (so you may get different results if you vm_compute a consumer function which produces something small). |
According to coq/coq#11277, the right way to tweak Coq's GC is to use the environment variable
OCAMLRUNPARAM
(see https://caml.inria.fr/pub/docs/manual-ocaml/runtime.html). You can also tweak Coq's stack limits viaulimit -S -s
, and perhaps get rid of some of the stack overflows that way.The text was updated successfully, but these errors were encountered: