02-21-2007 11:46 AM
02-22-2007 02:33 AM - edited 02-22-2007 02:33 AM
Message Edited by shoneill on 02-22-2007 09:35 AM
02-22-2007 02:45 AM
Yes LabVIEW is not very well optimized compiler. Why? Because it doesn't have to. Optimization means risks as compiler gets more complicated. There is no competition in the market of LabVIEW compilers so NI doesn't have to optimize the code better. Users will still use LabVIEW even if it's not as optimized as it could be.
But I don't understand why. I think the compiler misses out on a lot of possible optimisation in these situations.
02-22-2007 03:04 AM
02-22-2007 03:11 AM
I'm sure this reason is not directly related to the production expenses but more to what people are ready to pay for LabVIEW.
...I'm sure there's a reason why LV costs so much.....
02-22-2007 03:19 AM - edited 02-22-2007 03:19 AM
Message Edited by shoneill on 02-22-2007 10:22 AM
02-22-2007 07:53 AM
Hi Shane Tomi et al,
I do not have the time at the moment to a proper analysis of the code snippets you posted.
LV IS remarkably optimized. The "Inplaceness Algorithm" is amazing.
THe only short-coming I see in it's "shroud of mystery". What I mean by this is that all of the wonders it performs are top notch intelectual property that we do not know the details of and are subject to change when further improvements are implemented.
So lacking a complete set of documentation on its behaviour, we are forced to poke, prod and discuss to learn about it.
I imagine it to be a lot like learing to ride a surf board. There are two extreme approaches that can be taken to learn to surf. I could break books and study all of the physics involved and memorize the equations so that I can solve them as I ride. Another approach is to forget about the physics and just jump on and start riding.
When it comes to ridng the wave of LV, many of just jump on and learn by our falls.
The physics appraoch to learning LV is not possible because the "physics books on LV" are locked up in an ivory tower and are subject to change.
Back to the surf board.
We could take a hybrid approach to learning and combine the book work with the practiacl experience.
Returning to the LV experience
We can do use the same hybrid approach BUT we have to do the research as we go! When we fall off we should stop and analyze "why did that fail?".
When we discover new sublties, we should share. THat is what i tried to do above when pointing out what I had learned from a one of my "wipe-outs".
Still driving the LV is like surfing anaology
In the same way that subtle shifts in weight can influence the behaviour of the surf board, little things in LV can make a big difference in our direction. In your second snippet, you did not wire the cluster into the top of the bundle as you did in the first. This small "wave of the hand" gave the Inplaceness Algorithm the hint it need to know that you were not going to step on everything.
Done rambling. What do YOU think?
Ben
02-22-2007 08:20 AM - edited 02-22-2007 08:20 AM
Message Edited by shoneill on 02-22-2007 03:21 PM
Message Edited by shoneill on 02-22-2007 03:23 PM
02-22-2007 08:34 AM
Abosultely no problem Shane!
LV is my sweetheart. When ever her beauties and virtues are called into question, I feel moved to defind her honour.
I'll see if I can back to your examples when I have time to do a proper job.
Ben
02-22-2007 10:10 AM