LabVIEW does show a small performance "hit" in sub-vi's, but running it in the top level vi, presumably the user interface level introduces the performance hit of running in the user interface thread. GPIB communication is not terribly fast, from the point of view of modern host computers, this is what LabVIEW users have been doing (GPIB in sub-vi's) since the beginning of LabVIEW. So putting your GPIB communications stuff in sub-vi's is definitely the way to go. There are other LabVIEW constructs that can cause slow downs in performance, particularly in the user interface, but we will address those as you find them.
P.M.
PutnamCertified LabVIEW Developer
Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5
LabVIEW Champion