--- Raymond Toy <toy.raymond gmail.com> 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
|