02-25-2023 05:15 AM
I've got a big legacy codebase, and building applications that reuse code means big big build times. What confuses me is the inclusion of VIs and entire classes that appear nowhere in the call chain of the Startup VI. There's not even dynamic dispatch used in some of these applications, so it's hard to understand why these inclusions are happening.
How do you slim down your binaries and build times? Refactoring into a bunch of libraries? Avoiding any and all dispatch? Something else?
02-25-2023 10:26 PM
You can't strip VIs from classes but anything not in the call hierarchy and in a project library gets removed by default in a build. And VIs only in the project and not in libraries/classes only get included if they're a static dependency anyway.
If you want to strip down, you'd need to have less functionality in classes if possible and go through that refactoring process. If that's not feasible then you can at least try to perform separate PPL builds to be able to build in chunks and only build layers that have updates but that also still requires proper dependency management and encapsulation within the classes and libraries.