chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] chicken and stalin


From: bryan rasmussen
Subject: Re: [Chicken-users] chicken and stalin
Date: Wed, 6 Jun 2007 00:34:18 +0200

Well, I suppose it is a general question. Basically I have a big
application made a few years ago, we (meaning myself and some
partners) want to start it up again and add capabilities to it, this
application was at the point in it where I know what I will want to do
will require C because will need to write some low level stuff that
should be optimized  - I don't want to write in C (mainly because as a
C programmer I am at best at maintenance level) so a language I find
enjoyable that compiles to C is good, I decided to pick Chicken
because while I am a Scheme newbie I often find the code relatively
easy to understand and elegant (I've gone through SICP and have a good
bit of functional programming). That Stalin was faster was interesting
because some of the things I can see writing is for example providing
drivers for Erlang in C, well the reason one writes a driver for
Erlang in C (for example, via dryverl http://dryverl.objectweb.org/ )
is because it is a situation where performance and speed is critical

Of course the things Brandon has said has made me reconsider, because
the reason why I would consider doing anything with Stalin (speed)
will not be trumped by the need I have above speed, being development
time. That is to say the need for speed is a possible vague future
optimization, I realize premature optimization is evil but I figure
premature discussion of optimization can only be, at worst, slightly
naughty.



Cheers,
Bryan
On 6/5/07, Zbigniew <address@hidden> wrote:
Bryan,

I'd like to know from what perspective you are approaching this.  Do
you already have code written for Stalin that you need to interface to
Chicken?  Or are you interested in the optimizations Stalin does
purely as a research problem and would like to see if they are
applicable to Chicken?  Do you have a "need for speed" in a particular
application you've written or is this just a general question?

The reason I ask is that if you're interested in this from a practical
standpoint of "speed up my application", and are looking at Stalin
primarily because "it's fast",  then I would attack this from a
different angle.  Write your application in Chicken, profile it, then
take the bottleneck or critical paths and 1) rewrite the algorithm; 2)
disable safe mode, interrupts, etc.; 3) rewrite in C; 4) use the
crunch egg; and so on.    It all depends on the goals of your
application; pure speed is the goal only in select domains. Oh, and
premature optimization is the root of all evil. :)

If you're looking at this more from a theoretical angle, or just for
fun, then that's a different matter, and other people have mentioned
some possibilities.  Something interesting may come of it.


On 6/4/07, bryan rasmussen <address@hidden> wrote:
>  I guess (for me) what I was meaning was what are different ways that
> people might be using Stalin for doing parts of their C compilation,
> and how Chicken works with what comes out of Stalin compilation as
> first part. Second part, analysis of Chicken Scheme code to see what
> would be more optimized in Stalin.





reply via email to

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