In my last article, I talked about one of the major new features in VIPM 3.0: the ability to manage your own VI Package Repository. Repository management is critical to JKI because we have one of the largest reusable LabVIEW code libraries in the world (hundreds of packages, thousands of VIs), and it's all managed using VIPM. That's what we mean when we talk about eating our own dogfood.
Having the world's largest VI Package repository means that we can identify scaling problems before they start to affect our customers. That's why we identified some key bottlenecks when using VIPM to manage large repositories, and fixed them in VIPM 3.0. The result is that VIPM 3.0 is faster than VIPM 2.0, especially when dealing with large numbers of packages. Here are a few of the benefits you'll see as a VIPM user:
Faster initial setup time for new VIPM users
In VIPM 2.0, you might have noticed that it could take several minutes for VIPM to download information from the VI Package Network about all the packages available. Now, in VIPM 3.0, we've implemented lazy downloading of package information (see the lazy acquisition design pattern [PDF] for more info), which means that VIPM downloads only the information it needs, right when it needs it.
Faster "Check Network for Package Updates"
Another effect of the lazy downloading of packages (described above) is a faster check for package updates.
Faster Installation and use of VI Packages and VI Package Configurations
We've optimized the zipping and unzipping of VI Packages and VI Package Configurations. We found some areas where we were using high-level OpenG Zip Tools functions, but there were more optimal ways to use some of the lower-level functions. This means that saving and loading of VI Packages & VI Package Configurations is now a lot faster. You'll notice a big difference especially when working with large VIPC files.
Faster Package Search and Column Sorting
We noticed that when there were a lot of packages in VIPM's package list, the search and column sorting got a little slow. So, we took a close look and found some ways to optimize this. This wasn't rocket science; VIPM mostly just caches certain data now, rather than recalculating it every time the search/sort operation is performed. The result is that searching your package list for the package you want will be more responsive with larger numbers of packages in your library.
We hope you find VIPM 3.0's performance to be better than ever. If you haven't downloaded it already, what are you waiting for? Get it now!
And, stay tuned for more articles about "What's new in VIPM 3.0?"