I'm working on a fork today, though it won't use zlib, it will have the includes and library files in memory, uncompressed.
If you prefer a compressed version, let me know. I'm making this one uncompressed for speed and because it will be so much simpler than the compressed version that there may be a chance I can convince the original tiny c project to pull my change into the official tiny c codebase, assuming I can automate its use from make and windows bat files. There is a gccjit, and I'm not sure whether it's a full jit or just an in memory compiler for C/C++ like tcc. Keep in mind that the GCC codebase has a full GNU license and can't be included in a non-open sourced program at all. Msvc does not have a jit. On Wed, Dec 30, 2020 at 11:39 AM [email protected] <[email protected]> wrote: > Hi Joshua > > Thank you for you extensive reply. > https://lists.nongnu.org/archive/html/tinycc-devel/2020-12/msg00104.html > > > > > 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. > > Faisal > >
_______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
