Re: alien use causes gratuitous GC
Will <[email protected]>
| Newsgroups | gmane.lisp.cmucl.general |
|---|---|
| Message-ID | <[email protected]> |
--- Raymond Toy <[email protected]> wrote: > Alien routines should be declared inline to reduce/eliminate consing, I added that, but it didn't help noticeably. > You could, if desired, declare the alien structure in Lisp and access > them directly. But the alien interface should work fine too. I think I tried that at some point, but it slowed down another Lisp dramatically. I don't have notes on which one. > Is *system-variables* declared to be an array of double-floats? That > will reduce consing. For some reason, I turned off declarations for this array. I haven't had time to turn them back on and thoroughly test the code, but I'll let you know if that fixes the problem. If I can find the opportunity to code a test case that exhibits the problem, I'll send it along. I have an idea of what it would look like since I think the source of the problem is the chain of callbacks. > It's not quite clear to me, but is ms_model generated once and > solved? > Then a new ms_model is generated and solved again for a different > problem? Yes, ms_model is generated and compiled for each new problem, but the numerical solver is called several (hundreds) times for a single system of equations. Best, Will