Thanks for the repro.
I can confirm:
This may be tweakable by adjusting the structure layout and marshaling (maybe manual pinning and pointer/unsafe).
Update: would be great if we could avoid any copying at marshaling!
I can confirm:
- The process private memory is doubled while LUFactor is running, but freed right before it returns
- The additional memory does not seem to be managed memory.
-
This only happens with Complex and Complex32, but not with double or float.
This may be tweakable by adjusting the structure layout and marshaling (maybe manual pinning and pointer/unsafe).
Update: would be great if we could avoid any copying at marshaling!