Originally Posted by funkydude
Splitting the addons up into Load-On-Demand pieces lowers memory, it doesn't increase it, as less addons are being loaded.
For example when babble isn't split up into different addons, what if you have 1 addon that uses babble-boss? The rest is loaded, wasting memory and loading time. By splitting them into LoD chunks only the things that are required are loaded, (babble-boss) and the rest remain unloaded.
|
If they all end up being loaded anyways (for me, all but one babble module is used), the end memory usage is significantly higher, as there's a ~100KiB overhead per addon in the WoW addon system. Load time is increased, as WoW appears to create a new lua parser for each LoD addon (which doesn't take very long, but loading the addon itself only takes about .03 seconds).
Obviously if you're only using a little bit of it splitting it up is (slightly) superior, but in the case of something like Babble, you probably aren't using WAU (or disembedded libraries) in the first place if you're only a few pieces of it. The situation where it makes sense is something like Quartz, where there's a pretty good chance you'll be able to completly disable chunks of it.