chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] CHICKEN in production


From: Yaroslav Tsarko
Subject: Re: [Chicken-hackers] CHICKEN in production
Date: Wed, 08 Oct 2014 09:05:01 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.2

Hi,

On 07.10.2014 22:04, Peter Bex wrote:
There are hot internal discussions currently about migrating to something more 
widely supported (with proper debugger, profiler, and other useful tools) for 
our next big project, because a new hardware is more powerful and there are 
fewer restrictions.
This is a bit of a tidal function: sure, hardware gets faster every year,
but then they invent some new class of device which is more constrained
than the previous generation, or a new niche of computation evolves where
every CPU cycle is precious (bitcoin mining? 3D games?).  So even though
there are lots of people falling over eachother trying to tell you that
"hardware doesn't matter" and you should use their slow-ass language,
that's just bullshit: performance will *always* matter.



My 5 cents. Oleg mentioned internal discussions about migration to something other than CHICKEN. To be more specific those discussions take place not because of CHICKEN performance issues (luckily, we hadn't too much of them) but because of lacking of development tools. I mean, first of all, debuggers and performance analyzers/profilers. It is counter-productive to sit and peer at the code thinking why it doesn`t work. Yes, sometimes bugs are quite obvious, but more often they are not. So using debugger will increase speed of fixing bugs dramatically. Instead of debugger you have to insert additional logging which pollutes the code and makes you change its structure only because of adding logging (the most trivial example of this is when you want to look at function`s returning value - you have to wrap it in synthetic let only to capture its return value and log it).

Logging is also the only mean to perform performance measurements. And unlike log-driven "debugging", this is really slow and frustrating process - if you don`t sure where the bottleneck is, you spend a *lot* of time inserting logs here and there trying to catch the right point. Add to that recompile/relaunch cycle (chicken -> c -> gcc -> ldd -> switch to SSH console & launch of firmware -> replicating the performance issue) and you easily can spend a day trying to catch something not so obvious.

Some time ago someone in this (or maybe chicken-users) mail-group mentioned the same problems which led them to switch from CHICKEN to Python. This time situation is similar, although final decision about transition is not made yet.

--
Thanks,
Yaroslav




reply via email to

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