Right now compilation is controlled in one of two ways: globally with GxB_JIT_C_CONTROL and quasi-local control in the form of type / operator definitions (providing a definition enables JIT, not providing one disables it. This is a one time switch though).
I would like to allow users more manual control, and to allow me to JIT only when I deem it worth the overhead. I propose allowing GxB_JIT_C_CONTROL to be set on individual operators and types as well. I believe I understand the compilation pipeline relatively well now, and I don't think the overhead to do this would be too extreme (as the JIT works currently).
The default would be the same as the global.
Right now compilation is controlled in one of two ways: globally with
GxB_JIT_C_CONTROLand quasi-local control in the form of type / operator definitions (providing a definition enables JIT, not providing one disables it. This is a one time switch though).I would like to allow users more manual control, and to allow me to JIT only when I deem it worth the overhead. I propose allowing
GxB_JIT_C_CONTROLto be set on individual operators and types as well. I believe I understand the compilation pipeline relatively well now, and I don't think the overhead to do this would be too extreme (as the JIT works currently).The default would be the same as the global.