12-20-2021 05:12 AM
Messenger Library is moving to LabVIEW 2019 as base version, in order to access Malleable VIs. This included Malleable versions of various Write, Send, Query, Notify and Read subVIs. Original API of polymorphic VIs should still work (there should be no breaking changes).
This version includes a lot of work in eliminating copies of messages, in order to support very-large message payloads. Please see the example "EventDVR zero copy example", which can stream 400Mb arrays as Notifications from one actor to another (in LabVIEW 32-bit). It also demonstrates restart of a sub-actor that is halted by an out-of-memory condition (try entering 10Gb as payload size to see this).
If someone has done performance testing on Messenger Library, I would be very interested in seeing if this version improves performance, and by how much.
12-20-2021 11:32 AM
Sounds great. I use malleable VIs all the time in 2018. What 2019 features does the new library use?
12-21-2021 02:57 AM
@daenglis wrote:
Sounds great. I use malleable VIs all the time in 2018. What 2019 features does the new library use?
I must admit that I didn't have a good reason to go to 2019 instead of 2018. I was originally going to move up to 2017, but that doesn't fully support the Type Specialization Structure. I was already using 2019 and had it installed, and I have no clients using 2018 (just 2017 and 2019+). I was also badly burned by a horrible compiler bug that was present in 2018 and heavily affected VIMs (though that bug was fixed in SP1f1). Malleable VIs are new, and in my experience can be prone to weird non-intuitive recompile bugs, and this prompts me to prefer a newer LabVIEW version in hopes that these bugs are gradually being corrected.
Apologies to those using 2018; I probably should have chosen that.
12-22-2021 03:23 AM
03-24-2022 04:09 AM
2.0 now released on the Tools Network