User Tools

Site Tools


Sidebar

Imprint

kb:ni-rt:performance

Performance

Tipps

  1. Use Inlining
  2. Use Static Dispatch for objects
  3. Use global variables
  4. Remove anything that's not REALLY needed

Other, not so big improvements (might or might not help):

  • Disable “Allow Debugging” in VI properties
  • Restart the whole system
  • Allowing implicit type casts

Empiric Proof

Tipps based on measurements with RTETT in LV2016 running on a PXI on Par Lap ETS 13.1

  • Measurement uncertainty (differences in identical runs that we could not account for) is around 1 - 2µs for a 50 - 80µs loop iteration time
  • There is no measurable difference between using two bundle nodes with 5 elements vs 1 bundle node with 10 elements when writing to a cluster
  • There is no measurable difference between writing to a plain cluster and writing to the object (not even a write accessor VI, but using the bundle node directly in a class method)
  • Inlining (3 of 5 VIs) makes for 30% performance hit: ~50µs loop time with inlining vs. ~68µs loop time without
  • Dynamic Dispatch (5 of 5 VIs) has a minimal hit of ~ 3-5 µs: ~68µs loop time with not inlined static dispatch vs. ~ 72µs DD
kb/ni-rt/performance.txt · Last modified: 2018/11/06 13:11 by joerg.hampel