compiling speed-a few ?

A big THANK YOU to all the people answering questions on the new control system. One of the threads helped us reduce our compiling time to something acceptable. A few more questions-
1- Can we direct Labview to only compile files that were changed? Do we need to somehow save prior build results in seperate files?
2- If that is not possible, can we create a calibration file that is only filled with numbers and have that file pulled into the build?
3- Can we change numbers in the robot from the driver station prior to a match and have the numbers stay despite a robot powerdown, as in permanent memory?

Have you seen the following post?

I think that would have the same problem.

You can save data to files on the cRIO using the LabVIEW File I/O VIs. Several of the beta teams have released code that uses them (including our odometer example).


I’m the programming mentor for #910. However, I do not have sufficient privilege to download you odometer zip or doc files. Can you email them to me ? Please use:

[email protected]



I’m currently looking into why recent versions of LV have bigger build times. In my opinion it should be way faster to build.

If you are asking about clicking the run button after edits, there is a trick I’ve shared a couple times, but I don’t think it has caught on.

When you have Robot Main open, you run it, change a front panel value, and run again and things are really fast to get started. That is because the VIs are cached in RAM on the controller. If you make a diagram edit, then run, you’ll notice that is is probably fifteen seconds of download. All VIs will have been kicked out of the cache.

Can anything be done to keep more VIs cached? Sure.

What you do is Save your Robot Main As a Copy to a new VI. I usually call mine the This Shadow now has the same dependencies as your original Robot Main. When you are working, you open the project, open the Robot Main and the Shadow. Right click on the Shadow and choose Deploy. Then minimize the Shadow VI and go to work. The Shadow will not be edited, and will keep most of the VIs in the cache. Now VI edits will run much faster.

Greg McKaskle

I see where you are going with this “shadow” VI.
My question is when the Robot Main is edited the shadow is not edited so that it
is a older code. Does this matter at all if the shadow is older code?

I have the basic style of code right now. Will this still work in this style? Because, if the main is built first, then if it changes, all of the other VIs need to be recompiled will have to move and thus recompiled too.

thanks for the advice.

This shouldn’t do any harm. The shadow will be in memory on the cRIO, and your Main VI too. The big benefit is that if you Main VI is removed from memory, the 500 or so other VIs that it references won’t need to be redownloaded because the shadow will keep them there. I have never seen an issue with using this trick. If you think you see something funny, just close the shadow occasionally.

Greg McKaksle

You should be able to use the calibration file idea without running into the aforementioned problem.
You could load your main project that uses the calibration file as the startup application, then use a button on the front panel of a vi to save the current settings to the calibration file. Running the debug version should allow you to change the calibration file without rebuilding the startup application.