Hi Ting-Yuan Huang, that looks very interesting and I'd very much like to try using it on Shumway. However, cloning the repo, running make and installing the resulting XPI only results in a preference being added to the devtools preferences pane. No panel for the profiler shows up. Is there some additional step I'm missing to get this working?
thanks, till On Thu, Dec 11, 2014 at 9:22 AM, Ting-Yuan Huang <[email protected]> wrote: > Hi Nicholas, > > It seems that we have a similar goal :-) We have been prototyping yet > another memory profiler focusing on how objects are allocated: > > https://wiki.mozilla.org/MemoryProfiler > (Well, the name is so general because I'm bad at naming. I'll rename it if > anyone feel that's improper.) > > It is inspired by hprof and DMD and is designed to identify memory eager > codes directly. For example, it can show which (JS/C/C++) functions > retaining most: > > SelfSize TotalSize Name > 4653056 9502720 p/this.start (https://marketplace.cdn. > mozilla.net/media/fireplace/js/include.js?b=1412710964149:8) > 1310720 2097152 a (https://marketplace.cdn. > mozilla.net/media/fireplace/js/include.js?b=1412710964149:11) > 1245184 1245184 nsJSContext::GarbageCollectNow > 1179648 1179648 PresShell::DoReflow > 983040 983040 nsCycleCollector::collectSlice > 983040 983040 IPDL::PHttpChannel::RecvOnTransportAndData > 851968 851968 t/t.prototype._create (https://marketplace.cdn. > mozilla.net/media/fireplace/js/include.js?b=1412710964149:12) > > or having highest peaks: > > SelfHWM TotalHWM Name > 6225920 17563648 p/this.start (https://marketplace.cdn. > mozilla.net/media/fireplace/js/include.js?b=1412710964149:8) > 6029312 6029312 s (https://marketplace.cdn. > mozilla.net/media/fireplace/js/include.js?b=1412710964149:11) > 4784128 4849664 nsDisplayBoxShadowOuter::Paint > 1966080 1966080 IPDL::PHttpChannel::RecvOnTransportAndData > 1769472 6684672 a (https://marketplace.cdn. > mozilla.net/media/fireplace/js/include.js?b=1412710964149:11) > 1572864 18153472 u (https://marketplace.cdn. > mozilla.net/media/fireplace/js/include.js?b=1412710964149:8) > 1572864 1572864 nsJSContext::GarbageCollectNow > 1507328 1507328 PresShell::DoReflow > 1507328 13500416 p/<.run/x/< (https://marketplace.cdn. > mozilla.net/media/fireplace/js/include.js?b=1412710964149:8) > > Other features include a timeline like that in Cleopatra so that > developers can zoom in and zoom out to focus on certain time intervals, a > tree view to show the call hierarchy and a filter to allow users to > concentrate on what interest them. We planed to annotate allocation kinds > (images, strings, js objects, etc) later. > > The profiler is sampling based because the allocation events are enormous. > Both GC heaps, including nursery and tenured, and native heaps are sampled. > The sampler generates a lot of allocation and free events. A few tables are > kept and garbage collected so that free events can be determined. Combining > allocation with free events, the peak usage of all functions/methods can be > calculated, which is useful when looking into the memory footprint of > application start-up. > > I discussed with :jimb and :fitzgen in the work week and they gave me many > great suggestions. Currently we are trying to retarget the profiler to > debugger APIs. > > Hope this is useful and interest you.It would be great if we can share the > work and cooperate on it. > > Best regards, > Ting-Yuan Huang > > _______________________________________________ > dev-tech-js-engine-internals mailing list > [email protected] > https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals > _______________________________________________ dev-tech-js-engine-internals mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

