VI Code Complexity

VI code complexity is a collective term that refers to several characteristics of a VI, including the number, type, and organization of front panel and block diagram nodes. LabVIEW presents code complexity in the following related but distinct ways:

Complexity Measure When to Use Explanation
VI Metrics window
  • Measuring and estimating project development efforts based on quantifiable metrics
  • Identifying specific ways to reduce the complexity of a VI, thereby obtaining the following benefits for the VI:
    • Improved compilation speed
    • Decreased memory usage during compilation
    • Improved readability and maintainability of the block diagram
This window reports several aspects of code complexity, such as the number of various kinds of nodes and the maximum depth of nested structures on the block diagram.
Compiled Code Complexity Adjusting the threshold at which LabVIEW limits compiler optimizations to improve editor responsiveness This value provides an overall representation of code complexity for a VI. The compiler uses this value to determine whether a VI requires too much memory during compilation to receive full optimizations. LabVIEW calculates this value based on internal compilation details related to the numbers provided by the VI Metrics window. However, these details are subject to change between versions of LabVIEW. Therefore, unlike the concrete statistics in the VI Metrics window, this code complexity value uses units that do not directly represent the implementation details of the compilation process. Instead, the units serve only as a point of reference by which to compare the code complexity of a VI to the environmental compiler optimizations threshold that LabVIEW uses to limit optimizations.