Many times we think that in terms of managing workflows and for extending in the future we often create a parent workflow, and child workflow(s), however reading few lines on the Best Practices for developing with CRM, they say "for maximum throughput, use a single long workflow".So, we have to think that for best performance implementations we should bare this in mind.If you ask a .net developer, that his mind is always around Object Oriented approach, with Workflows, the developer should go for a single workflow.
Best practices for developing with Microsoft Dynamics CRM.
What type of workflow Is better?
From a performance perspective, is it better to create a single long workflow or is it better to have multiple child workflows and call them in one parent workflow? The child workflow approach achieves lower throughput, but it is more manageable if you frequently change your workflow definition. Compilation overhead is not a major concern because the workflow is compiled only during publishing. However, Microsoft Dynamics CRM incurs overhead when it starts each workflow instance. The overhead occurs when all entities that are used in the workflow are retrieved and the child workflow is started in a two-step process that includes a ‘Workflow Expansion Task’ and the actual workflow instance. Therefore, for maximum throughput, use a single long workflow.