A method, comprising: receiving a graphical program comprising a plurality of interconnected nodes that visually indicate functionality of the graphical program, wherein the graphical program also specifies performance criteria, wherein the graphical program comprises one or more timed loops; mapping the graphical program for deployment, wherein a first portion of the graphical program is targeted for execution by a processor (504, 505) implemented in or coupled to a programmable hardware element (500A, 500B), and a second portion is targeted for implementation in the programmable hardware element; determining if the graphical program meets the performance criteria, wherein said determining if the graphical program meets performance criteria comprises estimating a performance metric characterizing execution time of the graphical program; if the graphical program does not meet the performance criteria, remapping the graphical program for deployment; and performing said determining and said remapping one or more times in an iterative manner, until the performance criteria are met; wherein for at least one iteration, said remapping comprises: identifying a sub-portion comprised in the first portion of the graphical program, and specifying the sub-portion for implementation in the programmable hardware element (500A, 500B), thereby moving the sub-portion from the first portion of the graphical program to the second portion of the graphical program, wherein said identifying a sub-portion comprises analyzing the timing specification of each of at least a subset of the one or more timed loops of the graphical program, and selecting at least a part of a timed loop from the subset of the one or more timed loops as the sub-portion based on said analyzing; and wherein for at least one other iteration, said remapping comprises: identifying a sub-portion comprised in the second portion of the graphical program, and specifying the sub-portion for execution on the processor (504, 505), thereby moving the sub-portion from the second portion of the graphical program to the first portion of the graphical program. receiving a graphical program comprising a plurality of interconnected nodes that visually indicate functionality of the graphical program, wherein the graphical program also specifies performance criteria, wherein the graphical program comprises one or more timed loops; mapping the graphical program for deployment, wherein a first portion of the graphical program is targeted for execution by a processor (504, 505) implemented in or coupled to a programmable hardware element (500A, 500B), and a second portion is targeted for implementation in the programmable hardware element; determining if the graphical program meets the performance criteria, wherein said determining if the graphical program meets performance criteria comprises estimating a performance metric characterizing execution time of the graphical program; if the graphical program does not meet the performance criteria, remapping the graphical program for deployment; and performing said determining and said remapping one or more times in an iterative manner, until the performance criteria are met; wherein for at least one iteration, said remapping comprises: identifying a sub-portion comprised in the first portion of the graphical program, and specifying the sub-portion for implementation in the programmable hardware element (500A, 500B), thereby moving the sub-portion from the first portion of the graphical program to the second portion of the graphical program, wherein said identifying a sub-portion comprises analyzing the timing specification of each of at least a subset of the one or more timed loops of the graphical program, and selecting at least a part of a timed loop from the subset of the one or more timed loops as the sub-portion based on said analyzing; and wherein for at least one other iteration, said remapping comprises: identifying a sub-portion comprised in the second portion of the graphical program, and specifying the sub-portion for execution on the processor (504, 505), thereby moving the sub-portion from the second portion of the graphical program to the first portion of the graphical program. identifying a sub-portion comprised in the first portion of the graphical program, and specifying the sub-portion for implementation in the programmable hardware element (500A, 500B), thereby moving the sub-portion from the first portion of the graphical program to the second portion of the graphical program, wherein said identifying a sub-portion comprises analyzing the timing specification of each of at least a subset of the one or more timed loops of the graphical program, and selecting at least a part of a timed loop from the subset of the one or more timed loops as the sub-portion based on said analyzing; and wherein for at least one other iteration, said remapping comprises: identifying a sub-portion comprised in the second portion of the graphical program, and specifying the sub-portion for execution on the processor (504, 505), thereby moving the sub-portion from the second portion of the graphical program to the first portion of the graphical program.