06-16-2015 02:26 PM
Hello Everyone,
We have a large application that is built with LabVIEW 2014 64-bit that calls the "VISA Find Resource" primitive in a While Loop as the basis for automatic hardware discovery.
On Windows, everything works fine. However, we just started using LabVIEW for OS X to build our application for Mac and I noticed that the "VISA Find Resource" primitive executes about 10 times slower. This causes a handful of issues in our application since things were coded around this assumption that this primitive would execute very quickly.
I wrote a VI in LabVIEW 2014 64-bit that I've run on both a Windows 7 64-bit machine and several Mac computers running Yosemite. The VI runs this primitive in a while loop which stops after the user-defined number of iterations have been performed and gathers timing statistics. I've attached this VI for reference. Below are the screenshots of the VI after running them on OS X Yosemite vs Windows 7 with the VISA Find Resources running 10,000 times.
As you can see, the front panel displays the current iteration number (Loops), the current millisecond measurement during a loop, the mean millisecond measurement for the number of loops so far, the standard deviation, and variance. What I can see is that the standard deviation and variance are very similar across both platforms. It's just that for some reason the VISA Find Resources primitive runs slower on OS X Yosemite at about 6.5ms per execution vs Windows at 0.73ms per execution. I've also run this VI on a Mac Mini running Mavericks with nearly identical results (mean time of 6.5ms). As I mentioned before, this primitive taking about 10 times longer to execute really hinders the performance of our application.
Is this a known issue for LabVIEW or VISA for OS X? Is there any way to get performance comparable to Windows on OS X?
Thanks!
06-17-2015 05:13 PM
Hi amandion,
Do you have Bluetooth software installed on the Mac? If so, do you see the same behavior when Bluetooth is enabled and disabled?
06-18-2015 01:36 AM - edited 06-18-2015 01:38 AM
There is one serious difference between these two examples that could at least partially cause some of that difference. On the Mac you have 6 or so resources that satisfy the request, on Windows none. It's not exactly a fair comparison that way.
VISA Find Resource on Windows can be slow too, if there are quite some VISA resources to scan. In fact I consider 6 ms runtime for VISA Find Resource a damn fast execution time. I had in the past easily execution times of several seconds when searching for ASRL (serial) resources. And that was on Windows.