I am trying to benchmark the 6310-LX150 and cannot achieve even close to the reported figures as per specification. I’ve used both Windows and Linux, and got varied results. I understand these are not hard realtime OSs and performance will vary, but I would assume we could get closer than I’m seeing. For reference I’m using a laptop with 8GB of memory and a QUAD core processor running Windows 7. The application is 32 bit running on a 64 bit OS (possibly this could hurt). Also tested on the same machine with Linux (Fedora 17, 32 bit).
From the documentation:
API Call USB 3.0 (CPS) USB 2.0 (CPS) PCIe (CPS)
UpdateWireIns 5,000+ 1,000+ 4,000+
UpdateWireOuts 4,000+ 800+ 3,000+
ActivateTriggerIn 8,000+ 2,000+ 66,000+
UpdateTriggerOuts 4,000+ 800+ 3,000+
USB 3.0 USB 2.0 PCI Express
Transfer length Write Read Write Read Write Read
4.0 MB 313 313 37.9 37.9 100 200
8.0 MB 321 318 38.2 38.1 100 200
As per testing(PipeIn Example):
Windows
UpdateWireIns (1000 calls) Duration: 1.030 seconds – 970.87 calls/s
UpdateWireOuts (1000 calls) Duration: 1.029 seconds – 971.82 calls/s
ActivateTriggerIns (1000 calls) Duration: 1.014 seconds – 986.19 calls/s
UpdateTriggerOuts (1000 calls) Duration: 1.030 seconds – 970.87 calls/s
Read BS:0 SS:4194304 TS:67108864 Duration: 0.265 seconds – 241.51 MB/s
Read BS:0 SS:4194304 TS:33554432 Duration: 0.141 seconds – 226.95 MB/s
Linux
UpdateWireIns (1000 calls) Duration: 0.383 seconds – 2613.72 calls/s
UpdateWireOuts (1000 calls) Duration: 0.507 seconds – 1973.78 calls/s
ActivateTriggerIns (1000 calls) Duration: 0.254 seconds – 3934.14 calls/s
UpdateTriggerOuts (1000 calls) Duration: 0.508 seconds – 1966.97 calls/s
Read BS:0 SS:4194304 TS:67108864 Duration: 0.395 seconds – 161.97 MB/s
Read BS:0 SS:4194304 TS:33554432 Duration: 0.200 seconds – 160.35 MB/s
Can you help me understand how you tested to get the optimal numbers?
Thanks,
Rich