1. A computer-implemented method for performance analysis of computer systems, the method comprising: receiving a software application that is configured to execute a plurality of computing tasks, wherein each computing task included in the plurality of computing tasks comprises a portion of the software application; causing the execution of the software application to generate execution data that includes performance data for each of the plurality of computing tasks and dependency links between different computing tasks included in the plurality of computing tasks; based on the execution data, determining a critical path associated with the plurality of computing tasks that includes a first subset of computing tasks included in the plurality of computing tasks and that establishes the overall execution speed of the software application; receiving a first simulated modification to the execution data associated with a first computing task included in the plurality of computing tasks; generating modified execution data for one or more other computing tasks included in the plurality of computing tasks based on the first simulated modification; and based on the modified execution data, determining an updated critical path associated with the plurality of computing tasks that includes a second subset of computing tasks included in the plurality of computing tasks.