-
-
Notifications
You must be signed in to change notification settings - Fork 59
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
Reorganize modes -safe, -fast, -faster #41
Comments
Without quoting...
|
I agree with your preference. The one mode should be the current Relative to current OCaml:
Relative to future OCaml:
|
The thread-unsafe failure tests are skipped for now, because OCaml does not seem to have pre-emptive threading of any kind at the moment. Part of #41.
Reasonable. |
Actually, it occurs to me that running on ocamljava probably requires the locks, though I am not sure if it worked there, since |
There are several issues here.
-fast
is also apparently safe. @rleonid if-fast
is faster than-safe
(is it?), why is there-safe
? Is-safe
more correct than-fast
in some case?-fast
and-faster
is that-faster
doesn't try to take locks even if you link inBisectThread
.true
/false
flags, we could writetrue
without locks in all cases. Maybe what we need instead of-fast
and-faster
is-boolean
and-numeric
, and if you choose-numeric
, it is always correct, but you pay a price for locks.-fast
with locks and-faster
. It's probably significant, but if it isn't, I would like to eliminate-faster
.ocaml.ppx.context
attribute, or some other method, to find out if we need to take locks. This would eliminate the brittleness ofBisectThread
, but also take per-module control over safety away from the user compiling the code. Does anyone actually take advantage of this control?I'm currently hoping to make work
-boolean
/-numeric
with automatic detection of the need for locks in-numeric
. I'd probably want to make-boolean
the default. It wouldn't affect the report tool. The runtime would just output counts 0 and 1.The text was updated successfully, but these errors were encountered: