> I HAVE made a special version that keeps the include and library directories embedded in the runtime so it doesn't have to read from the disk to use those. It works but it's not complete and it's not hosted anywhere. If I keep working on it, I'll fork the source on github.
Is it possible for you to share this work in a github project please?
Does your code statically link libtcc.dll in your test app?
Which TCC codebase files / functions that relates to loading of the libtcc1-64.a, *.def and include files?
I found that each compilation via JIT, lib\libtcc1-64.a and associated lib\*.def files are getting read each time
from the disk. Is it possible to cache these to minimize I/O? Could the compiled versioned of these be reused, rather than compiling/linking each time
> For my own project, while I could probably add the features I said TCC was missing above, I doubt my ability to add an optimization phase to TCC.
In order to have best performance, my plan is to use MSVC (or GCC) for the main application codebase, and use TCC JIT to compile parts of the code that needs to be generated at runtime. Based on the examples\libtcc_test.c its possible to do so and pass function pointers around. What do you think about this approach?
Also, do GCC or MSVC have same JIT capability that TCC provides? Are there any examples anywhere for comparison? I did look into RCC++ however it executes commands to compile and reloads classes - however performance is very slow into 5-10 seconds. I require fast JIT performance. With TCC I am seeing 1-2 milliseconds to JIT compile a very basic function.