Re: Large programming project in SISC almost finished

"Kjetil S. Matheussen" <[email protected]> Sat, 25 Aug 2007 11:45:19 +0200 (CEST)
Newsgroups gmane.comp.java.sisc.user
Message-ID <Pine.LNX.4.64.0708251128170.9187@ttleush>

On Fri, 24 Aug 2007, Nikita Sidorov wrote:

>> * Creating .scc files from the .scm files can take forever, sometimes
>>   up to a minute for relatively small files, dependent on how complicated
>>   the code inside the files are.
>
> It indeed seems to be a little bit slower than it could be expected. It
> would be really great if the loading speed could be increased. Even though
> I think we should be greatful to developers of SISC for what we have
> already.
>
> But why do you need to recompile all the files, instead of only those that
> changed? Do you use macroses so extensively  that it is hard to determine
> what files were affected by changes?
>

I didn't write that. I ment to express that compiling _one_ file can 
take up to a minute. Compiling the whole project takes 22:14 minutes (I 
just clocked it), and compiling the largest file (mixer-area.scm, 760 
lines) takes [still compiling, don't bother waiting any more, its a lot 
more than 1 minute].

But I forgot that it takes a lot less time if you turn off the tracer 
(set please-dont-trace to #t in various.scm). And I also forgot that I had 
turned off the tracer long time ago because of the insane long compilation 
times. So compiling the whole project now only takes about 3 minutes.

Now, the tracer doesn't do that much special. It just adds an "at" macro 
around most of the expressions so that I can backtrace if something went 
wrong. It shouldn't take 20 minutes to compile 12000 lines just because 
of that. And even 3 minutes is way to much.

It might seem like the SISC macro expander spend increasingly more and 
more time the more complex a block of code is?

(My machine is an AMD XP2800/2GB/Linux)



>
> It is also interesting to me how you developed your applet. Lisp, and
> scheme in particular, associates with interactive development. Did you use
> REPL on applet to develop code?
>

Yes, I develop inside emacs. I start sisc as the inferior scheme process, 
and start the program by evaluationg "(load "main.scm")". When running in 
emacs, the program runs directly in a frame and not as an applet.



>
> I've been looking through your code and this: (eval '(import os)) made me
> curious. Why don't you simply use (import os)?
>

I don't remember. I got an error when using "(import os)" directly when 
running as applet, and for some reason "(eval '(import os))" fixed the 
problem. When running in emacs, there is no error.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/