This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Lilypond & GUILE: failure report, help!


First of all, I would suggest you try to dig a little into what is
taking too long (minutes sound a bit over the top for a few thousand
objects, whatever the kind).

Also be aware that starting guile is a somewhat timeconsuming
process. I am not quite clear on how your system works, that is a
thing to consider. Also, loading of files and the first access to a
loaded symbol is expensive, to some degree. This means that if your
program spends significant protions of time just starting up and
loading scheme libraries, you should consider checking the hobbit
scheme->C compiler.

The I/O system could also be a bottleneck. If possible, try separating
the actual calculations and the output, though that probably is hard
from my understanding of your approach.

A C profiler may also come in handy to indicate where time is
spent. Normally most time should be spent in scm_deval and the gc
routines. If not, you may have found the sinner.

If gc really seems like the problem, you should check if you are
generating lots of temporary garbage or perhaps the allocation
parameters doesn't match your usage. Here one can use `gc-stats' to
see current standings, or one can add a handler to `%gc-thunk' to get
control after each gc for instance to get an idea when, during
execution, the gc is being called. Or you could even try turning gc
off during the output phase, which is quite easy from C.


---------------------------+--------------------------------------------------
Christian Lynbech          | Telebit Communications A/S                       
Fax:   +45 8628 8186       | Fabrik 11, DK-8260 Viby J
Phone: +45 8628 8177 + 28  | email: chl@tbit.dk --- URL: http://www.telebit.dk
---------------------------+--------------------------------------------------
Hit the philistines three times over the head with the Elisp reference manual.
                                        - petonic@hal.com (Michael A. Petonic)