I would recommend to go for option 1) using sub-processes. It will help for readability and maintenance and should not have a too strong impact on performance (it should mainly impact volume of data but in a reasonable level). Note that process data you transfer for parent to child process will be duplicated.
If you need to identify the exact difference between the two option it’s possible to setup a benchmark infrastructure using Engine API.
Bonitasoft empowers development teams with Bonita, the open-source and extensible platform to solve the most demanding process automation use cases. The Bonita platform accelerates delivery of complex applications with clear separation between capabilities for visual programming and for coding. Bonita integrates with existing solutions, orchestrates heterogeneous systems, and provides deep visibility into processes across the organization.