tinycc-devel
[Top][All Lists]
Advanced

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

Re: [Tinycc-devel] Using TinyCC with GPL


From: Basile STARYNKEVITCH
Subject: Re: [Tinycc-devel] Using TinyCC with GPL
Date: Fri, 06 Jun 2008 23:31:25 +0200
User-agent: Mozilla-Thunderbird 2.0.0.14 (X11/20080509)

F.B. wrote:
> Yann wrote:
thank you for your advice, even if it does not answer my question. My
application is coded in C++ so I gues I can try/catch before calling the C
script, right ? However, maybe I made a mistake calling this script. My use
would better be very fast prototyping or light plugins. It has to run as
fast as possible, this is why I consider using tinycc better than any
interpreted bytecode.


C and try/catch? Now that's a good one.
Do yourself a favour and look into Lua, it'll save you some headaches.



I agree with F.B. who suggest Lua. You might also look into Ocaml. Its bytecode VM is quite fast!

If your machine is x86 (= i686 = ia32 = 32 bits only, not the 64 bits variant = AMD64 = x86-64) then the LuaJit implementation should be even faster. And Tinycc does not run for x86-64!


If speed is your main concern, it is somehow antagonistic with scripting language. But usually script language are used in performance application to drive lower-level, resource consuming, routines.


Again, scripting in a non-safe language is really a nightmare. What is your user supposed to do on a core dump?

However, you might consider also:

* generating C code, compiling it (either with tinycc, or with another compiler like gcc, using -fPIC -shared on Linux) and dynamically loading it with dlopen(3).

 * using some JIT-ed scripting implementation (LuaJit, Parrotcode, ...)

* using some machine code generator library, like libjit (use the CVS version), LLVM, GNU lightning

* generating some other langage source code (C++, D, C-- Pascal ...) and compiling it and dynamically loading it.

 * restricting yourself to ordinary plugins

* using some language implementation which dynamically compile to machine code: many Lisp-s (e.g SBCL), several Java JVM, next version of Ocaml, some Haskells, ..



--
Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***




reply via email to

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