Speed
In terms of the speed of developing your application, the HLA operations are much faster to implement and debug because of the simpler interface and the status information received after each access. For example, HLA operations encapsulate the mapping and unmapping of hardware windows, which means that you do not need to call viMapAddress() and viUnmapAddress() separately.
For speed of execution, the LLA operations perform faster when used for several random register I/O accesses in a single window. If you know that the next several accesses are within a single window, you can perform the mapping just once and then each of the accesses has minimal overhead.
The HLA operations will be slower because they must perform a map, access, and unmap within each call. Even if the window is correctly mapped for the access, the HLA call at the very least needs to perform some sort of check to determine if it needs to remap. Furthermore, because HLA operations encapsulate many status-checking capabilities not included in LLA operations, HLA operations have higher software overhead. For these reasons, HLA is slower than LLA in many cases.
Note For block transfers, the high-level viMoveXX() operations perform the fastest. |