Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

DeltaShell provides an implementation to run services remote (in another process / on another machine). The most common usage is to load the calculation kernel (typically fortran) of a model in a separate process to increase DeltaShell stability and prevent memory corruption issues when running a model several times. Another reason could be that you only have a 32bit version of a dll and want to run it from a 64bit process (Delta Shell).

Info

The implementation is provided in a library which can be used stand alone (without Delta Shell) as well.

...

  • More work / less calls is better (see the Sobek kernels for examples of how calls are aggregated into larger chunks)
  • Send large multi dimensional arrays as one dimensional
  • Avoid large arrays in custom types as they aren't optimized
  • If your dll writes to the console alot (eg write(,)), this can have significant impact on the performance, even if the console is not visible. Try again with debug messages off!
  • If in doubt, ask! The code can be changed / extended to support more options!

...