| Richard Dobson wrote:
> 1. The use of a dll increases the load time. I have not yet done any
> structured benchmark tests with homemade dlls, but I suspect that
> loading a
> dll for each opcode will be VERY inefficient.
The Gogins' DLL routine (implemented in RTsound) is not so inefficient:
it convert OENTRY structure from static to dinamic and loads all opcodes
of a library at the initial stage of a Csound session and allows "an
arbitrary number of libraries, each containing an arbitrary number of
opcodes, which can be loaded at run time without Csound having to know
anything about them in advance and without ever having to relink Csound
itself".
So one can use dozens of DLLs which are automatically loaded at Csound
startup phase. If anyone is not interested to some opcodes, he can
simply remove the relative DLL from the csound directory, saving initial
loading time and memory.
The realtime peformances of Csound are not minimally reduced in any
case, because the DLL opcodes keep the same architecture of internal
opcodes.
Gogins also suggest to implemet a DLL routine also to support GEN
tables.
--
Gabriel Maldonado
http://www.agora.stm.it/G.Maldonado/home2.htm
|