Greetings,
I am working on porting an old Pascal program to Win32 C++ (the application reads data from a digital multimeter and writes it to disk.) I am hitting some very surprising performance issues in this process. On the old DOS box, using the Pascal application, I collected 9000 samples from the DMM in approximately 3.5 minutes. Using the exact same SCPI commands (":READ?" or ":MEAS:VOLT:DC?") in Vista and C++ it takes me approximately 51 minutes to gather the same 9000 data points!
I have an NI PCI-GPIB card. I have connected an HP/Agilent 34401A DMM to this card. Originally I suspected that the performance issues were due to the third-party GPIB library I was using to interface with the card. However: I tested the performance of the card using the Interactive Control tool to perform ibwrt and ibrd commands, storing 100 samples on the DMM and retrieving them via Interactive Control takes 34 seconds. The exact amount of time required for the code I wrote to collect 100 samples. This leads me to believe that the performance bottleneck is either in the NI PCI-GPIB card or in the drivers I am using. Are there any known performance issues with either of these? Especially considering I am using Vista?
Let me know if you require any further information, I'll be happy to provide whatever I can.
Thanks in advance for any assistance!
Warm Regards,
-Josiah