tinycc-devel
[Top][All Lists]
Advanced

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

Re: [Tinycc-devel] Speed of development of a compiler.


From: Basile Starynkevitch
Subject: Re: [Tinycc-devel] Speed of development of a compiler.
Date: Tue, 24 Nov 2015 23:16:13 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.3.0

On 11/24/2015 09:13 PM, AlexandreFressange wrote:
Thanks a lot Basile,

this is exactly the kind of answer I was expecting: digging around the problem, 
showing it with much intelligence and proposing multiple ways to solve it.

Now, I am about to finish my OS that will not be open source (no need, not a 
community project), I was working on some performance optimizations for memory 
management. I have been coding for 15 years now, but my initial formation is 
unrelated with CS. This OS is for very specific purposes that are currently 
being developed for a startup (I won't say much more right now, right here, but 
will happily do in a few time). The language resembles python but is even 
simpler (but has pointers; we always need them :) ),follows no ISO, steals good 
ideas on C( atomics and so on), communicate liberally with the OS; I've 
rewritten the musl library to fit the OS needs.

I am blindly guessing you are in some embedded computing or Internet of Things case. These are very fancy for hidden startups.

I am used to gas and nasm for x86 assembly coding.

I guess you are right, I should create a github for it and its compiler.

Why I need that: there will be a need to update the code in environment without 
internet, and llvm/gcc are too heavyweight. More, simpler language can lead to 
fewer bugs.
And to say the least, I don't want to be dependent on C++. It narrows the 
choice much.

I seriously considered the need for a new compiler, when others are existing. 
But on the other hand, I am curious to see if I can create a lightweight 
alternative that would only fit my os (on those archs) and language.
The main question is : do you need native compilation (on some *small* computer system) or not? And what is the target processor (at least, instruction set)? Is it cross-compilation or straight native compilation.

If you can afford cross-compiling e.g. on Linux, use either GCCJIT or LLVM.

If you need *native* compilation on a very cheap software (think of generating code on cheaper than 1€ tiny ARM with 32kbytes of RAM - or on Arduino) things are *very* different. Then you won't be able to optimize much. Use in that case cheap JIT technology (inspired by libjit). Don't expect miracles.

BTW, I still don't understand why your OS is proprietary, and I guess that it is because you are targeting extremely cheap hardware. (You did not mention anything about your hardware and system).
Then, I don't see why you want some native compiler.

I you can afford cross-compiling, generating C or GCCJIT or LLVM is very easy.

Regards.

--
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 mine, sont seulement les miennes} ***




reply via email to

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