Description
TaskHost nodes are transient, started up as needed and torn down after task completion. But that means that there's fairly high overhead of using a TaskHost because of process-start and JIT time and limited ability to use in-memory caches (because the memory disappears between invocations/builds!).
If the .NET TaskHost becomes widely used, many or most tasks will run in it, exacerbating this overhead.
We should consider adding a new TaskHost type, which I'm calling a "sidecar" TaskHost, which will be created on-demand but live for the same lifetime as the worker node that created it. Then the only overhead of using a TaskHost would be IPC.