Thank you Joshua
Uncompressed will be fine for now as I am still experimenting. When you have 
compressed version please do share. Does it read from filesystem and then 
cache, or just embeds all files as resources. With this codebase, do you have a 
sample .c code which this working that I can experiment with? Also, is your 
codebase based on TCC 0.9.27 or the current GIT master?
Since you mentioned licensing, can TCC be embedded inside a non-open source 
program?
----    On Wednesday, 30 December 2020, 20:54:19 GMT, Joshua Scholar 
<[email protected]> wrote:  
 
 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
  
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to