ThinkCentre
2006-06-12 14:40:09 UTC
I am porting an application from NIDAQ Traditional to NIDAQmx 8.1 and have noticed some performance problems. After trying many different methods, I've been able to determine that the best case is a 40% decrease in Digital I/O performance. Attached is some LabWindows CVI test code used to generate the following results:
Test with multiple reads from port 2 followed by multiple writes to port 3 of a 6508 board.
10,000 Reads and 10,000 Writes
- NIDAQTraditional < 1 second
- MIDAQmx reusing task ~ 5 seconds
- NIDAQmx creation and destruction of tasks for every operation ~ 149 seconds
- NIDAQmx reusing task with explicit start task < 1 second
1,000,000 Reads and 1,000,000 Writes
- NIDAQTraditional ~ 15 seconds
- NIDAQmx reusing task with explicit start task ~ 22 seconds
NIDAQ_test.zip:
http://forums.ni.com/attachments/ni/70/5033/1/NIDAQ_test.zip
Test with multiple reads from port 2 followed by multiple writes to port 3 of a 6508 board.
10,000 Reads and 10,000 Writes
- NIDAQTraditional < 1 second
- MIDAQmx reusing task ~ 5 seconds
- NIDAQmx creation and destruction of tasks for every operation ~ 149 seconds
- NIDAQmx reusing task with explicit start task < 1 second
1,000,000 Reads and 1,000,000 Writes
- NIDAQTraditional ~ 15 seconds
- NIDAQmx reusing task with explicit start task ~ 22 seconds
NIDAQ_test.zip:
http://forums.ni.com/attachments/ni/70/5033/1/NIDAQ_test.zip