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/