On 12/20/06, Hoehle, Joerg-Cyril Joerg-Cyril.Hoehle@t-systems.com wrote:
Jack Unrue wrote:
...which is essentially what Jörg suggested, I'm just saying maybe some macrology could hide the details.
I was not that detailed. Quite to the contrary, I had in mind a system which would locate the address once, (e.g. when evaluating def-call-out), not each time the function is called (irk!).
Sorry for not better separating what you suggested and my performance-destroying idea (irk indeed :-)
Loading and unloading a library is - a priori - an expensive operation. I desribed a scenario where only opened libraries are queried, presumably expensive enough.
True, although certain libraries such as shell32 and comctl32 are likely already loaded by the implementation (I've checked LW and CLISP so far), so the additional load/unload operations on top of that are just reference count manipulation (I think, but if you have better info please correct me).
But if you really want, you *can* do the above for each foreign funcall. Some foreign libraries do that already, internally (e.g. allocate resource that some library provides, do stuff, then release library).
That's right.