pyvisa / pyvisa-py

A pure python PyVISA backend
https://pyvisa-py.readthedocs.io
MIT License
288 stars 124 forks source link

ni vs py backend GPIB speed tests #95

Closed nikhartman closed 7 years ago

nikhartman commented 7 years ago

Has anyone done this test in any rigorous way?

I recently put together a Linux machine to run as a sort of instrument server using the 'py' backend and linux-gpib. Sending a single query takes about 50ms compared to about 20ms on a windows machine running the 'ni' backend. I'd like to speed this up, but it is not clear whether I am limited by my hardware (totally possible, the Linux machine is very minimal) or by the linux-gpib backend.

DavidLutton commented 7 years ago

What timings/comparisons are you after? The time between starting Python process and retrieving data like*IDN?, single data point, a trace from a scope/analyser, or the turnaround time to make a single query

A scope like Agilent DSO5052A with USBTMC, GPIB, Ethernet and plenty of trace points, if you are after trace retrieval time comparisons

I have been using NI VISA on Windows I got Linux-GPIB and Python + PyVISA '@py' + PyVISA-py working today

This timer block in Python could be used for basic timing

nikhartman commented 7 years ago

I should have left a note here. After leaving that comment, I dual booted my Windows machine and tested the same code on the Ubuntu (py backend + linux-gpib) and Windows (ni backend) sides of the same machine.

It was really the single query times I was looking at, like writing "*IDN?" and reading the response. The results aren't on the computer I'm writing from, but the response times were pretty much identical (~20ms to query an SRS830) on the Windows/Ubuntu tests.