Sooner or later, we all have to deal with how LabVIEW handles compiling and recompiling our beloved VIs. Depending on what the problem at hand is, dealing with it can become pretty complex, tedious or even an outright PITA!
Our LabVIEW friend Richard Thomas (thoric) posted an idea to the LabVIEW Idea Exchange starting off like this:
LabVIEW is awesome. But sometimes things don't go quite right, and when something isn't quite right somewhere (maybe a bad bit of binary) it would be great to be able to recompile your code [...]
One by one, many clever people both from the LabVIEW community and from NI join into this discussion, giving details about what functions like "Mass Compile", "Force Recompile" or "Clear compiled object cache" actually do, like this gem from Steen Schmidt:
The reason mass compile does not force a recompilation of everything is that it basically has to start all over each time it has compiled an item. That has to do with dependency tracking. [...]
You'll definitely enjoy reading the whole discussion (it spans three pages) and there's a lot of stuff to be learned.