Skip to content

In Process Plugins

This is the simplest execution mode, and the default if a mode is not set. An in-process plugin is loaded into and executed inside the main WPEFraemwork process.

Advantages

  • Simple - there is no additional overhead or complexity from running additional processes
  • Highest performance - no additional RPC hops are required to communicate with the plugin. All calls to the plugin from the Thunder process are just local virtual function calls.
    • If an in-process plugin needs to communicate with another in-process plugin, Thunder will resolve any COM-RPC interface calls to local function calls. This removes the need to serialise/deserialise any data or cross any IPC boundary and results in the fastest performance possible

Disadvantages

  • Stability - if a plugin is unstable or buggy and causes a crash then it will bring down the entire Thunder process
  • Resource monitoring - since the plugin runs inside the Thunder process, it is much harder to accurately monitor the CPU/memory usage from that specific plugin
  • Security - the plugin runs with the same permissions and privileges as the main Thunder process