Re: [dev-servo] Draft blog post about memory measurement

2015-06-01 Thread Andrew McCreight
Very cool!

This is probably too esoteric for the blog post, but it seems like the
malloc_size_of thing isn't passed in for the Rust version. (For those who
don't know, in Firefox, this is used for the Dark Matter Detector (DMD): a
method can be passed in to record all blocks that are measured via the
memory reporters, to then report the allocation stacks for blocks that
aren't reported, to find places that are missing reporters.) I assume that
this is just because there's no DMD set up yet? I also assume that
basically you can just modify the derive generator code, which would be
really great, compared to the hideous giant patches that are required when
modifying the reporter boiler plate in Firefox. I don't know if it is worth
calling out that global changes can be made locally, or maybe that's just
implicit in the "less boilerplate" part of things.

On Sun, May 31, 2015 at 8:39 PM, Nicholas Nethercote  wrote:

> Hi there,
>
> I've written a draft of a blog post about memory profiling in Firefox
> vs. Servo, which focuses on the Rust features that make the task more
> pleasant in Servo. There's a draft copy here:
> http://njn.valgrind.org/measuring.html
>
> I'd appreciate any feedback you all might have, esp. if I've gotten
> anything wrong in the Servo/Rust part.
>
> Thank you.
>
> Nick
> ___
> dev-servo mailing list
> dev-servo@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-servo
>
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] Draft blog post about memory measurement

2015-06-01 Thread Jack Moffitt
> I've written a draft of a blog post about memory profiling in Firefox
> vs. Servo, which focuses on the Rust features that make the task more
> pleasant in Servo. There's a draft copy here:
> http://njn.valgrind.org/measuring.html

Very nice!

One question I still had at the end was whether things like Arc
(non-owning references) are accounted for somewhere?

Also,  there's a comment in util/mem.rs that HeapSizeOf would be nice
to derive automatically, but that now works according to your blog
post.

jack.
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] Draft blog post about memory measurement

2015-06-01 Thread Manish Goregaokar
The comment goes away in that PR :)


As for Arc, I think the plan is to divide by the refcount; to get a
"weight" sort of thing.

Note that we only need to worry about shared references, not all non-owning
references (borrows can be ignored)

-Manish Goregaokar

On Mon, Jun 1, 2015 at 9:29 PM, Jack Moffitt  wrote:

> > I've written a draft of a blog post about memory profiling in Firefox
> > vs. Servo, which focuses on the Rust features that make the task more
> > pleasant in Servo. There's a draft copy here:
> > http://njn.valgrind.org/measuring.html
>
> Very nice!
>
> One question I still had at the end was whether things like Arc
> (non-owning references) are accounted for somewhere?
>
> Also,  there's a comment in util/mem.rs that HeapSizeOf would be nice
> to derive automatically, but that now works according to your blog
> post.
>
> jack.
> ___
> dev-servo mailing list
> dev-servo@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-servo
>
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


[dev-servo] PSA: Do not use the try feature on homu

2015-06-01 Thread Manish Goregaokar
... it sets things on fire.


I think Rust has a slightly different setup for try which somehow works,
but in our case @bors-servo: try on jgraham's PR
queued nearly 200 PRs for trying.

-Manish Goregaokar
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


[dev-servo] Meeting notes 6/1 (Critic; SpiderMonkey upgrade; Rust upgrade; Devops; Reviewable perf; Interns)

2015-06-01 Thread Josh Matthews

https://github.com/servo/servo/wiki/Meeting-2015-06-01

Cheers,
Josh
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] Meeting notes 6/1 (Critic; SpiderMonkey upgrade; Rust upgrade; Devops; Reviewable perf; Interns)

2015-06-01 Thread Lars Bergstrom
Related to reviewable, we have a few ongoing discussions with them on 
performance:
General conversation on large reviews vs. Critic - 
https://github.com/Reviewable/Reviewable/issues/103
Letting individual commits hide other content might help - 
https://github.com/Reviewable/Reviewable/issues/104

I think the big issue, as jgraham points out, is that Critic does the diffs 
server-side, whereas Reviewable does diffs client-side. When these diffs are 
large, you get the slow script dialog in FF (and pretty slow behavior in 
Chrome, too). It’s not clear what solutions are available here.



On Jun 2, 2015, at 3:20 AM, Josh Matthews  wrote:

https://github.com/servo/servo/wiki/Meeting-2015-06-01

Cheers,
Josh
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] Meeting notes 6/1 (Critic; SpiderMonkey upgrade; Rust upgrade; Devops; Reviewable perf; Interns)

2015-06-01 Thread Fabrice Desré
On 06/01/2015 02:47 PM, Lars Bergstrom wrote:

> I think the big issue, as jgraham points out, is that Critic does the diffs 
> server-side, whereas Reviewable does diffs client-side. When these diffs are 
> large, you get the slow script dialog in FF (and pretty slow behavior in 
> Chrome, too). It’s not clear what solutions are available here.

Running the diff algorithm in a worker?

Fabrice
-- 
Fabrice Desré
b2g team
Mozilla Corporation
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] Draft blog post about memory measurement

2015-06-01 Thread Azita Rashed
Hi Nick,
This is very nice.  One small note in the beginning of your post, you called 
Servo an experimental browser engine.  We should take out the word experimental 
and just call it a new or next generation browser engine.  The project isn’t in 
the experimental phase anymore and we don’t want to give that impression to the 
readers.  Thanks again!

Azita

> On May 31, 2015, at 8:39 PM, Nicholas Nethercote  
> wrote:
> 
> Hi there,
> 
> I've written a draft of a blog post about memory profiling in Firefox
> vs. Servo, which focuses on the Rust features that make the task more
> pleasant in Servo. There's a draft copy here:
> http://njn.valgrind.org/measuring.html
> 
> I'd appreciate any feedback you all might have, esp. if I've gotten
> anything wrong in the Servo/Rust part.
> 
> Thank you.
> 
> Nick
> ___
> dev-servo mailing list
> dev-servo@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-servo

___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] Draft blog post about memory measurement

2015-06-01 Thread Nicholas Nethercote
Thanks for the comments so far. I will address them in the final version.

BTW, some eager beaver posted my link to Hacker News where it made the
front page. I knew this post would be perfect linkbait for HN but this
was a little premature. Whoops.

Anyway, I edited to the page to remove all the WordPress gunk and to
make it clear that it's a draft. Full details here:
https://news.ycombinator.com/item?id=9642833. I'll post the final
version on my real blog in the next day or two.

Nick

On Sun, May 31, 2015 at 8:39 PM, Nicholas Nethercote
 wrote:
> Hi there,
>
> I've written a draft of a blog post about memory profiling in Firefox
> vs. Servo, which focuses on the Rust features that make the task more
> pleasant in Servo. There's a draft copy here:
> http://njn.valgrind.org/measuring.html
>
> I'd appreciate any feedback you all might have, esp. if I've gotten
> anything wrong in the Servo/Rust part.
>
> Thank you.
>
> Nick
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] Draft blog post about memory measurement

2015-06-01 Thread Nicholas Nethercote
On Mon, Jun 1, 2015 at 8:46 AM, Andrew McCreight  wrote:
>
> This is probably too esoteric for the blog post, but it seems like the
> malloc_size_of thing isn't passed in for the Rust version. (For those who
> don't know, in Firefox, this is used for the Dark Matter Detector (DMD): a
> method can be passed in to record all blocks that are measured via the
> memory reporters, to then report the allocation stacks for blocks that
> aren't reported, to find places that are missing reporters.) I assume that
> this is just because there's no DMD set up yet?

Yep, exactly.

> I also assume that
> basically you can just modify the derive generator code, which would be
> really great, compared to the hideous giant patches that are required when
> modifying the reporter boiler plate in Firefox. I don't know if it is worth
> calling out that global changes can be made locally, or maybe that's just
> implicit in the "less boilerplate" part of things.

Yeah, the plugin code is pretty short and is in the Servo repo (or
will be when it lands).

Nick
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] Draft blog post about memory measurement

2015-06-01 Thread Nicholas Nethercote
On Mon, Jun 1, 2015 at 8:59 AM, Jack Moffitt  wrote:
>
> One question I still had at the end was whether things like Arc
> (non-owning references) are accounted for somewhere?

If there's a clear owner, then it makes sense to measure the struct
from there. Otherwise, we'll have to do some kind of "divide by the
refcount", but Firefox doesn't even have that yet because the amount
of memory that falls into that case has never been very high. Servo
may be different; I don't yet know.

Nick
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] Draft blog post about memory measurement

2015-06-01 Thread Nicholas Nethercote
On Mon, Jun 1, 2015 at 4:07 PM, Azita Rashed  wrote:
> This is very nice.  One small note in the beginning of your post, you called 
> Servo an experimental browser engine.  We should take out the word 
> experimental and just call it a new or next generation browser engine.  The 
> project isn’t in the experimental phase anymore and we don’t want to give 
> that impression to the readers.

Will do!

Nick
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo