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
Refactor coercionops #13912
Refactor coercionops #13912
Conversation
I think you need to fix these:
|
Fixed |
|
This is a file where the slowdown is actually visible |
The table of coercion classes `class_tab` is now indexed by `cl_typ` instead of integers (`cl_index`). All the uses of `cl_index` and `Bijint` have been replaced with `cl_typ` and `ClTypMap` respectively.
`coe_source` and `coe_target` fields of type `cl_typ` have been added to `coe_info_typ` so that it allows querying the classes from a `GlobRef.t` of a coercion. The `coercion` record has also been replaced with `coe_info_typ`.
@SkySkimmer @gares Could you run the benchmark again? Thank you in advance. |
The slowdown may have been fake due to the new machines. |
FYI @pi8027 you should be able to run the bench too by going to the gitlab pipeline and hit the |
Thanks. I didn't know that. |
|
@coqbot merge now |
@gares: Please take care of the following overlays:
|
Fix w.r.t coq/coq#13912: Refactor coercionops
This PR does two things as discussed in #13909 (comment):
Bijint
andcl_index
withClTypMap
andcl_typ
, respectively.coe_source
andcoe_target
fields of typecl_typ
tocoe_info_typ
so that ML plugins can query the classes from aGlobRef.t
of a coercion. Thecoercion
record has been replaced withcoe_info_typ
since they have the same set of fields.Kind: cleanup / enhancement.
Overlays: LPCIC/coq-elpi#221