On 01/18/2016 06:03 PM, Honza Bambas wrote:
On 1/15/2016 21:02, Ehsan Akhgari wrote:
On 2016-01-15 2:21 PM, Bobby Holley wrote:
Has anyone measured recently whether there's still a significant perf
win to making IIDs 32-bit? If we stop using them as a versioning tool,
we could potentially relax our uniqueness requirements, and save a lot
of comparisons on each QI. Addon-compat would be tricky, but is
potentially solvable.
It may be that we've optimized enough stuff that we don't QI on the hot
paths anymore. But it might be worth a day of someone's time to check if
it makes any difference on Talos.
Years ago I wasted a tremendous amount of time working on bug 391275 to remove
the QueryInterface() outparam argument and couldn't measure any
performance difference whatsoever, which makes me be extremely cautious when
assuming that making QueryInterface() faster by shortening the UUIDs
would move any needles. (But I could be wrong, of course!)
Just a note that whenever I profile gecko with an external profiler (like
CodeAnalyst) I can see we spend enormous amount of time in QueryInterface.
It's more about number of calls than what time we actually spend in it, but
optimizing it may have some influence. Same as an attempt to order
interfaces in NS_ISUPPORTS_IMPL in order according how often we perform QI to
each interface.
It is indeed usually the cost of virtual call, and virtual AddRef call inside
QueryInterface. IID handling less so.
-Olli
-hb-
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform