David,
Generally speaking it should take less time to load from flash than to download via TCP. Depending upon which version of software you have for the [c]FP RT controller, the normal boot time for the OS and Run-Time engine is usually around 30-45 seconds. At that point, the LabVIEW Run-Time engine will start loading your program. The entire program will be transferred from flash memory to RAM and then run. The size of the program will effect the amount of time that it takes. Additionally, when you download a program, it is starting in RAM and the LabVIEW Run-Time engine is already running so you don't see the boot time. Depending upon if you were already doing some debugging, a number of your VIs may already be in memory and may not be downloaded each time leading to a false sense of how long the program takes to run.
The way in which the code was written will also have an effect. For example, one system that I have worked on takes ~5-10 minutes to fully initialize. To provide user feedback to let the user know that the system is working properly, the initialization routine starts by turning on LED A, as the initialization progresses, LEDs B, C and D will be turned on (either green (no failure) or red (failure in initialization)).
Regards,
Aaron