LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Mihály

64bit references

Status: New

It would be nice to get 64bit references. The old 32bit references are build up from two main parts: the descriptor represented on 12bits and the address represented on 20bits. If the application requires more than the available 1048576 references the labview generates an error because the memory is full. The workaround is to close references found in the memory. If an application requires serialization, this rule should be kept in mind. If the application serializes references by an input data, the input data should be limited, which means that really big data can't be handled although the machine have enough memory to handle them. Unfortunately, this feature in the labview has been not changed in the last 30 years although 64bit processor architectures are used world-wide and the 64bit labview plays a bigger role every year.
I think, the main reason is the backward compatibility...but is it possible to provide 64bit references which could be chosen by the developer itself, where the descriptor field will not be changed but additional 32bits are available for addressing? e.g. new option in the labview settings "use 64bit references" or selection (polymorphic) from all native components which could be create a reference. If the feature is supported by (environment) settings, then the compiler uses it generic. If the feature is supported component level, then the references should be checked for conflicts. At the end the architect/developer/application is no more limited inside in the labview because the available 4503599627370496 addresses are more than enough for a long time again.

2 Comments
Intaris
Proven Zealot

I presume you are specifically referencing references of several types of LabVIEW datatypes, queues, notifiers and so on.

 

In that context, I would agree, but I would actually love to have a way to get back the number of references of a given type which have already been allocated. Until now, failing to close a one-use notifier for example was found relatively easily because of the afore-mentioned "out of memory" error. By moving to a 64-bit reference, good luck waiting for them to run out.

 

So I agree under the caveat that we have some way of monitoring the currently allocated pool of references.

Mihály
Member

Thank you for your post!

Yes, you have absolutely right in both cases!

It would be nice to have also an additional feature, how many references are currently allocated: normally if your design is clear, you are controlling all the references so you know exactly how many references are created/destroyed, but I know, not all the labview developers creates clear architectures...so this feature could be useful.

And yes again: I need lot of luck...