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] |
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)