Hi!
I am currently implementing a report generation module because I have to add some features (for example: 'Additional results'). Especially I want it to be fast(!). Apart from my new implementation which is done in LabVIEW I have an implementation in C++ (cosed source) and an implementation in VB.NET (self written). All three implementation produce the same output format (one text line per measurement)
For 500 steps to process (no deep nesting) the report body generation duration takes:
Implementation A (c++ DLL; closed source): 240ms
Implementation B (VB.NET; rekursive result tree traversal): 260ms
Implementation C (LabVIEW; rekursive result tree traversal): 460ms
Using the LV profiler it seems to me that the Teststand API is the bottleneck - the more TS property nodes I execute per step the longer the duration.
My questions (to CTAs 🙂
- Can I speed up the report generation by using parallel loops to process the TS Property nodes; or does the TS API not support parallel (read) requests? (like a web server does)
- Can the recursive (reentrant VIs) approach be the reason why the performance is not so good (for performance better to process the result tree in iterative manner)? Remark: no deep nesting!
Versions used: TS2010 & LV2010
Remark: I know that TS2012 has implemented async report generation possibility!
w.