Quick getting started question,
I have to generate reader and writer for large complex type, array size in typedef is set to 100k elements. Generator function makes LabVIEW unresponsive, after 40 minutes it generated requested functions. PC showed 90% CUP load. Can some improvement be made to speed this up? Attached typedef used in our scenario. This data will be used in request reply patern where we rarely request measurement from scope and he returns few megabytes of data.
Attachment | Size |
---|---|
LabVIEW typedef | 3.94 KB |
After some digging managed to find the problem - Get Array Dimensions.vi
They are password protected so I can not see actual implemetation, but replacing this vi with attached code (extracted from OpenG) solved the problem
Hi Pawhan
We have reproduced the issue with the ctl you provided and reached the same conclusion as you. There is a bottleneck on Get Array Dimensions.vi. That VI does some extra checks that introduce some overhead if the array is too large. We have taken note of it and will fix it in further releases. Thanks for letting us known about this.
Regards
Ismael
Follow up question,
I have managed to generate code with examples, but Example Reader and Example Rriter are not able to connect to each other on the same machine using default settings. In RT Admin Console I see lost samples and lost reason: LOST_BY_WRITER. What might be the reason of that? Attached generate code.
Hi pawhan
That happens because your type is too large for the default QoS. You have to adapt your QoS for working with large DataTypes. Please have a look at this link https://community.rti.com/kb/what-do-i-need-send-large-data-successfully (Toolkit version 3.1.1 uses internally Connextdds 6.0.1)
Hi Ismael,
Thanks, after QoS change all works fine. Btw, when do You plan to release LabVIEW toolkit that will support 6.1.0 ?
Hi Pawhan
Most likely the next toolkit release will be based on 6.1.0. But there is no date for it yet.