LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
JackDunaway

"Show Constant Folding", just like "Show Buffer Allocations"

Status: New

The IDE option to show constant folding is extremely powerful, but if you keep it checked, your block diagrams look like you're looking at a blurry CRT. This gets tough on the eyes, so I would appreciate a menu item called "Show Constant Folding" right next to "Show Buffer Allocations" that temporarily flashes the constant folding blurriness.

 

Below is an example of the blurry lines:

 

BlurryConstantFolding.png

10 Comments
crelf
Trusted Enthusiast
I'd vote for this, as long as I could still have the option to see contant folding all the time.




Copyright © 2004-2023 Christopher G. Relf. Some Rights Reserved. This posting is licensed under a Creative Commons Attribution 2.5 License.
JackDunaway
Trusted Enthusiast
I'm perfectly fine with keeping this as an environment option, in addition to my proposed "Show Constant Folding Quickie".
Spectre_Dave
Active Participant
Good Idea - I keep this option turned off because the squiggly lines are too distracting.
Visualize the Solution

CLA

LabVIEW, LabVIEW FPGA
Broken_Arrow
Active Participant
I'll Kudo this just based on getting some type of dialog started which may improve the way CF is shown on the diagram. Currently, it gives me a migraine.
Richard






JackDunaway
Trusted Enthusiast
Yeah, my original Idea should have been the same, BA. I love the concept of showing contant folding, but I can't look at it either - it's physiologically unusable for me. I cannot train my eyesight on the diagram - my focus is literally in an uncontrolled oscillation. I'm certainly not tied to the flashing dots, and am willing to hear some better suggestions.
Dragis
Active Participant
i always thought it would be nifty if labview would show constant folding by graying out (or increasing the transparency of) the constant sections of diagrams. this would be controlled by a button on the task bar.
SynchronizationOverhead
NI Employee (retired)

I'm very interested in hearing how you would prefer to see these and other optimizations visualized. I don't like the blurry lines either for constant-folding (also shows loop-invariant code, did you know?). And having to click 'refresh' just to get the dots to blink is a little silly. How about a visualization for code that LabVIEW's compiler removes/ignores because it doesn't need to be executed (Dead Code) or never can be executed (Unreachable Code)? Something similar to the Disable-Structure's grayed out nodes seems reasonable. And what about showing inplaceness paths, or clumper groupings?

I also like the idea of a consolidated dialog/toolbox for showing/hiding visualizations for compiler optimizations/feedback. Of course, I'm not promising anything, but it'd be great to get some user input on the topic.

JackDunaway
Trusted Enthusiast

SynchronizationOverhead... could you provide some prelim artwork? I'm interested in finding a balance between powerful visual tools and block diagrams that end up looking like Christmas trees. A "consolidated dialog/toolbox for showing/hiding visualizations for compiler optimizations/feedback" would be an unprecedented, invaluable learning tool that would allow us to leverage the capabilities of the compiler.

 

***EDIT: By the way, I don't have a love affair with the exact solution for this Idea (blinking like buffer allocations)... consider it a springboard for a better solution... ***

tst
Knight of NI Knight of NI
Knight of NI

Usually, I try to avoid optimizing too much. Unless it's specifically needed, it's often an exercise in code obfuscation, a time sink and something which depends too much on the specific optimizations which exist on that specific version of the compiler. I'm sure you can find examples of LV code which has become less efficient over the years due to changes in the compiler.

 

That said, having the option of seeing what decisions the compiler makes would be nice. I would say that this should be something that isn't on all the time, but rather can be toggled from a floating window, similar to the show buffer allocations dialog.


___________________
Try to take over the world!
altenbach
Knight of NI

> How about a visualization for code that LabVIEW's compiler removes/ignores because it doesn't need to be executed (DeadCode) or never can be executed (Unreachable Code)? Something similar to the Disable-Structure's grayed out nodes seems reasonable.

 

I would love that!!! I probably would leave it enabled all the time.

 

(I think I write it up as a new idea, because it is not directly related to the original post here).