1. A method for designing a system on a target device, comprising: synthesizing the system; mapping the system; placing the system on the target device; routing the system; and performing physical synthesis on the system where a first descendant thread is spawned to run in parallel with an existing thread where the first descendant thread is executing a different optimization strategy than the existing thread but on a same netlist as the existing thread.