"Consumption" implies "use", don't play word semantics here :P Users often don't know there is a difference, and simply telling them that "memory use doesn't matter" comes across... well... like KLHTM's dev saying that blizzard's profiler doesn't work and that's why it's numbers for KLH's performance look bad.
Fine picky, fixed. I still said static memory in the other topic.
Quote from Aestil »
but Tek, I don't use embedded libs. So many compat layers are there, and are good for people who prefer to run standalone libs then?
While, it's probably technically true that you gain a little performance by adding a compatability layer so you don't have 2 majors running that are doing the same thing.
While we call it major/minors for the sake of simplicity, UberLibrary-1.0 and UberLibrary-2.0 are two entirely different libraries to the stub, we use the wording majors (<name>-<major:1.0/1.1/1.2/2.0/3.0/ect>) because it makes more sense then renaming UberLibrary to ZOMGHAILibrary when you want to bump the major.
For example, lets say I have Foo thats running UberLibrary-1.0 and Bar thats running UberLibrary-2.0 both using UberStub
UberLibrary-1.0 loads and registers itself with UberStub.
Foo loads and says "I want UberLibrary-1.0"
UberLibrary-2.0 loads and registers itself with UberStub
Bar loads and says "I want UberLibrary-2.0"
Even though both do the same thing, UberLibrary-2.0 contains changes that aren't backwards compatible with UberLibrary-1.0 this way with different majors Foo and Bar can run without any issues due to the incompatibilities.
UberLibrary-2.0 when it loads could go "No, UberStub, UberLibrary-1.0 is actually UberLibrary-2.0-Compat" and instead of the functions that Foo calls going to UberLibrary-1.0 they go to UberLibrary-2.0-Compat which then calls UberLibrary-2.0.
See? That ruins the entire idea of using majors and it's completely pointless, an author should setup there addon to include the library they need and so has no requirement for using a compatability layer. I haven't looked into how WAU does it, but I'd assume that it either downloads all the libraries as LoD, or it downloads all the libraries that the addon uses and names it by the major version.
Compatability layers are stupid, it's essentially a way to say "**** you" to the person who did the library that you made the layer for.
Peak memory is immaterial, yes.... but memory consumption rate is a VERY valid performance issue. Don't confuse people with blanket statements.
I said usage, not gain or consumption. Usage = Total, Gain/Consumption = Memory gain per a second
Even then, it's hard to tell if memory gain is actually due to a performance issue, if you're seeing a large spike or something that continues then you probably have something going on, but it's hard to tell unless you know what addons there running and what they do.
Assuming the person who actually makes a library does there job right and is bumping majors on incompatible changes, chances are you're already running a few copies of the same library anyway and it hasn't been that big of a deal yet. The only time you'd ever have a chance to notice a decrease in performance is if you were running two heavy usage libraries like Parser.