## Out-of-Process vs In-Process

Applets can either live in their own process ("out-of-process") or in the panel process ("in-process"). The decision to choose one or the other is done at build time, with the macro that you use to define the applet factory: `PANEL_APPLET_OUT_PROCESS_FACTORY()` is used for out-of-process applets while `PANEL_APPLET_IN_PROCESS_FACTORY()` is used for in-process applets. Obviously, only one of those two macros can be used.

For most practical matters, from the applet perspective, the two options are the same. In-process applets do offer a slightly better performance when the applet is loaded, but this should not affect much the user experience. However, an in-process applet can potentially affect the whole behavior of the panel, especially in case of crashes or memory corruptions: a crash in an in-process applet will crash the whole panel. It is therefore recommended to use out-of-process applets.