[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] License is too restrictive for real-world use.

From: John B
Subject: [Tinycc-devel] License is too restrictive for real-world use.
Date: Wed, 2 Mar 2016 06:07:17 +0000


I really love playing around with tinycc for jit-enabled scripting.  There are so many applications to this and by far tinycc is the single-most best tool for the job that I have so far evaluated.

If you evaluate luajit or llvm etc., they can execute code as fast as tinycc.  They can call extern C functions just as fast as tinycc.  But there is one important criteria for flexible jit scripting that only tinycc can do.  No other jit library seems to be able to do this one simple task:  Repeatedly call into the compiled script from C in a very tight loop.  So your application can define a script and execute it in tinycc or luajit or whatever... and each of these can call into your main application (pull) very fast.  TinyCC is about the only ultra fast jit in existence that can do reverse push calling.  So once you have the compiled object loaded with the function pointer returned, you can call it as many times as you want without worrying about performance.  It's beautiful, it's useful, it's... under lgpl.  It's off-limits.

This is important... it let's you build compiled expressions.  You don't really need a jit scripting engine for fully fledged procedures or algorithms.  I mean you can, but to me it is all about compiled expressions.  Almost like say you are building a regex parser.  If you do that in other jit implementations, be prepared for your script to pull all of the text down otherwise you are going to have a bad time.  TinyCC on the other hand, you can parse it wherever you want and just send portions to the compiled _expression_.  TinyCC could own the jit scripting market right now.

It falls down and becomes completely unusable, all because of it's license.  Lgpl is this magical property that turns anything it touches into a toy.  I am not independently rich, and I work hard in the hope I can sell my software.  That is just the how it is for me.  LPGL prevents me from ever touching TinyCC in my code.  And it is a darn shame, because it is exactly the library I want to use for scripting and i'll use it in very imaginative ways.  I don't want to use LuaJit, but the license tells me otherwise.  Luajit is a wonderful tool but it has it's own problems that tinycc doesn't have.

Please, if you want to consider tinycc being more relevant than it is, and being adopted in big ways so that people can build push calls instead of pull scripts, it just hinges on dropping the toxic lgpl and switching to e.g. bsd.  There are so many things I want to do with tinycc but that is not why I want to be a developer.  Not until I win the lottery, anyway.

Thank you for taking the time to read if you did &#X1f60a



reply via email to

[Prev in Thread] Current Thread [Next in Thread]