Variant Performance

Issue #46 resolved
James Powell repo owner created an issue

Tests with Variants suggest could have higher performance:

  • using swap values on Write of variant
  • using VIM to do to-variant with explicit node (unclear why conversion at input of VI seems to copy)

VIM requires uping to LabVIEW 2017.

Comments (15)

  1. James Powell reporter

    Testing done in 2017 and 2019 with 100MB strings. Need to look at smaller but more complex data types.

  2. James Powell reporter

    Inconsistency in results, as if compiler sometimes does things one way and sometimes another. Backing off doing anything at this point.

  3. James Powell reporter

    Rediscovered this while looking at Queue performance. This is a VIM that avoids a copy (looking via DETK). It is the explicit To-Variant, rather than implicit, that does it.

  4. James Powell reporter

    Performance experiments suggest avoiding the DD Read Label functions, especially teh possible getting of the name in a Variant.

    And Note that using a VIM, as in the last post, will lose the Variant name, so a Label must be written explicitly.

  5. James Powell reporter

    Consider adding a U8 Enum to MSG.lvclass, to identify message type, avoiding DD overhead in getting Label and Error.

  6. James Powell reporter

    I have used Swap in the VIs writing label and Reply Address. Label is usually a constant, so a copy will happen anyway, but Reply Address is sometimes a dynamically created complex Object, so this may help with small messages.

  7. James Powell reporter

    Starting on VIMs for Write Message and Extract (rename Extract to “Read” or “Open”?).

  8. James Powell reporter

    Made a new “Message Type Enum” with DD Call, to faster identify Registration and Error Messages. First Use in Registration.vi

  9. James Powell reporter

    Turns out that indexing a new Array will copy the elements (this seems stupid but is verified by DETT). A place where this was slowing this is in Redeem Array of Futures. Change Made:

  10. Log in to comment