Gert.Glantz wrote:Running APL as an in-process server (DLL instead of EXE) certainly has both pros and cons. It's not all clear to me what all the consequences would be but I can see some advantages:
1) Improved performance when calling APL from C# as they could share the same process space.
Any improvement would only be significant for âŽ•WI calls from APL+Win to WSEngine. However, that is where the current bottleneck is located. It might be possible to achieve some speedup for C# to WSEngine, but that cost is pretty insignificant compared to âŽ•WI calls, and so it is doubtful it would actually be worth doing. The only place where C# calls to WSEngine might be slow is when the fractal surface area of the argument and/or result arrays are large (i.e., for deeply/densely nested arrays). In that case, the arguments and result must be represented as Variant Arrays and the more leaves there are in these arrays, the slower they are to create and encode/decode. In such cases, some kind of â€œwrapplingâ€