Re: [dev-servo] Memory reporting in Servo: the next step

2017-10-06 Thread Anthony Ramine
> Le 6 oct. 2017 à 03:27, Nicholas Nethercote a écrit : > > I see two options. > > - Overwrite the heapsize crate on crates.io with the malloc_size_of code. So > the crate name wouldn't change, but the API would change significantly, > and > it would still be on crates.io. Then switch Servo o

Re: [dev-servo] Memory reporting in Servo: the next step

2017-10-06 Thread Anthony Ramine
> Le 6 oct. 2017 à 07:58, Nicholas Nethercote a écrit : > > Not being able to use derive doesn't worry me, because it's just a > convenience. I just looked through all the external crates that implement > HeapSizeOf and hardly any are using derive. Most don't use derive because they started dep

Re: [dev-servo] Memory reporting in Servo: the next step

2017-10-06 Thread Nick Fitzgerald
Hi Nick! The combination of deriving traits and Rust's ownership model is great for memory reporting, and this stuff is _so_ much nicer to define than the equivalent about:memory measurements in Firefox. But it doesn't play out as well in the presence of a GC: ownership is muddied. The Arc/Rc iss

Re: [dev-servo] Memory reporting in Servo: the next step

2017-10-06 Thread Nicholas Nethercote
Memory reporting as done for about:memory is quite different to the memory profiling done for devtools. Here's how memory reporting works in SpiderMonkey: we iterate over every cell in the GC heap, and measure any malloc'd things hanging of those cells. That's it. It's not at all a standard GC typ