12-13-2017 07:59 AM - edited 12-13-2017 08:01 AM
@CA The reuse library gets divorced from source around these parts.
Guess what I'm getting paid to do.
@W, benchmark it against anyone's code but Christian's
12-13-2017 08:30 AM - edited 12-13-2017 08:35 AM
@JÞB wrote:
@W, benchmark it against anyone's code but Christian's
No need to benchmark Christian's solution, test the two solutions you've already provided and you'll see the non property node method is somewhere around 50 times faster than the enabled case using a property node. There are of course improvements that can be made.
Oh and removing the write property helps but the non property method is still about 20 or 30 times faster than the single read.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
12-13-2017 08:48 AM
12-13-2017 08:59 AM
Calling it as an inlined subVI, with the front panel closed, taking time stamp information after reading control values, and stopping the time stamp before writing back to the indicators. Thread swapping is really what kills a property node speed.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
12-13-2017 09:05 AM - edited 12-13-2017 09:10 AM
@Hooovahh wrote:
Calling it as an inlined subVI, with the front panel closed, taking time stamp information after reading control values, and stopping the time stamp before writing back to the indicators. Thread swapping is really what kills a property node speed.
That is not what I expected from a p-node property that does not load the FP into memory on an inlined chunk.
I (possibly incorrectly,) assumed that the conversion from
"Bytes" to "String to send to the transfer buffer for display to the user"
would be rather finely optomized
12-13-2017 09:39 AM - edited 12-13-2017 09:41 AM
12-13-2017 10:46 AM - edited 12-13-2017 12:07 PM
@JÞB wrote:
That is not what I expected from a p-node property that does not load the FP into memory on an inlined chunk.
On a side note, this would still be a useful idea. 😄
12-13-2017 01:51 PM
I think the size of the disable structure says enough
12-16-2017 11:32 AM
So we have many cases of a state machine, and every single state is indicated by a particular pattern of three booleans.
Apparently, some think they need to place separate instances of local variables for all three indicators in every single case, and to keep things clean, the terminals should be outside, completely disconnected from the code.
(further comments are in my reply in the thread linked above)
12-18-2017 07:57 AM
@altenbach wrote:
So we have many cases of a state machine, and every single state is indicated by a particular pattern of three booleans.
Apparently, some think they need to place separate instances of local variables for all three indicators in every single case, and to keep things clean, the terminals should be outside, completely disconnected from the code.
(further comments are in my reply in the thread linked above)
I can rationalize that (but not justify). When you modify the state machine and add another case (to the non-type-def'd enum) you can just right click and choose "duplicate case". If using locals the duplication creates more locals. If using the actual control, the controls will be duplicated.
Ben