[dev-servo] Tidy on Travis
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi all, I've enabled |make tidy| on Travis, and expanded it to check for whitespace errors as well as missing license blocks (which it did before). [1] For reference, no longer allowed are: * tabs, * carriage returns, * trailing whitespace, * missing newlines at EOF. Please be mindful of such errors in existing PRs, and note that these checks are run before the actual build. HTH Ms2ger [1] https://github.com/mozilla/servo/pull/2806 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJTv9ihAAoJEOXgvIL+s8n2DuYH/0BQ10pay5RWtJaYM7fwUTl4 ePtj5QAs08F6pddcbIE1IdoDhnTjDiPJI5Z/eNyzUuhq8IGacy0tVNPJ58Le0SV0 8HfFswVbfMiUQeH3JQtlHuOE+xow8eFGU/mC+7KlGsWYJdCPW+dlo73i83ARtfMr /79HjJl2YdxCmcedNDOzVrZe2ZcgoLH8cUbdZDmIFKiMAuPOi/uPWyRRSEENAA0q UIGZ7uzvTm2sdKZfMCIPQN8+OeG8bxsFxyJ7gpL5vZ3hvUN+dO4ADTQDIboYxKIP EehG7yUqV0xWZQUAivvZYab7YnTR5CoHAxCVO3MTESnv0ShK1ByIZjc/BCFfAtU= =b9d0 -END PGP SIGNATURE- ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Tidy on Travis
> I've enabled |make tidy| on Travis, and expanded it to check for > whitespace errors as well as missing license blocks (which it did > before). [1] For reference, no longer allowed are: Did this get disabled at some pint? `make tidy` used to run as part of `make check`. Or perhaps I'm confusing Servo's `make check` with Rust's. jack. ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Tidy on Travis
On 07/11/2014 12:21 PM, Jack Moffitt wrote: I've enabled |make tidy| on Travis, and expanded it to check for whitespace errors as well as missing license blocks (which it did before). [1] For reference, no longer allowed are: Did this get disabled at some pint? `make tidy` used to run as part of `make check`. Or perhaps I'm confusing Servo's `make check` with Rust's. jack. We don't run make check on travis due to it including test suites that don't work on that hardware at the moment. ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Servo memory usage
On 07/10/2014 11:11 PM, Nicholas Nethercote wrote: On Thu, Jul 10, 2014 at 10:34 PM, Patrick Walton wrote: Historically, Rust's large stacks were due to the fact that at the time stack growth was removed, rustc had worse codegen than it did today, resulting in frames with very large activation records. Coupled with the fact that rustc itself uses recursion heavily (probably too heavily), the easiest thing to do was to give tasks large stacks by default. Perhaps this decision should be revisited, as I think that it may well be the case that rustc is going to be the exception, not the rule. You can tune the size of stack growth when spawning a Rust task. Servo could definitely use a stack size audit; I bet a ton of MBs can be shaved off with some tuning. "Large default stack size" doesn't seem to explain it. I'd guess that the default is 2 MiB, because there are quite a few entries in smaps like this: 7f54091fe000-7f54093fe000 rw-p 00:00 0 [stack:28143] Size: 2048 kB Rss: 12 kB Pss: 12 kB 2 MiB has been allocated, but only a tiny amount has been touched and is thus in RSS. Here are the two biggest stacks: 7f540a70-7f540b80 rw-p 00:00 0 [stack:28139] Size: 17408 kB Rss:7944 kB Pss:7944 kB 7f540960-7f540a40 rw-p 00:00 0 [stack:28141] Size: 14336 kB Rss:8192 kB Pss:8192 kB For both, |Rss| is big and |Size| (equivalent to vsize) is even bigger. Rust does have 2MB stacks by default. These giant numbers are surprising. ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Servo memory usage
- Original Message - > Rust does have 2MB stacks by default. These giant numbers are surprising. In Gecko, we've found that almost anytime we start measuring something, we find something surprising. ;) Andrew ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Servo memory usage
On Jul 11, 2014, at 12:04 PM, Brian Anderson wrote: > Rust does have 2MB stacks by default. These giant numbers are surprising. These giant numbers aren’t too surprising, since LLVM isn’t that great at optimizing stack space. Is Rust inserting the lifetime.start and lifetime.end markers? http://llvm.org/docs/LangRef.html#llvm-lifetime-start-intrinsic Use of lifetime markers is essential if you have a lot of distinct allocas with distinct scopes, as then LLVM can reuse the stack space. The inliner tries to insert them automatically for any allocas in the function being inlined, but maybe Servo has large function bodies that aren’t getting this benefit from the inliner. Cameron ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo
Re: [dev-servo] Servo memory usage
On 7/11/14 12:54 PM, Cameron Zwarich wrote: These giant numbers aren’t too surprising, since LLVM isn’t that great at optimizing stack space. Is Rust inserting the lifetime.start and lifetime.end markers? http://llvm.org/docs/LangRef.html#llvm-lifetime-start-intrinsic Use of lifetime markers is essential if you have a lot of distinct allocas with distinct scopes, as then LLVM can reuse the stack space. The inliner tries to insert them automatically for any allocas in the function being inlined, but maybe Servo has large function bodies that aren’t getting this benefit from the inliner. No, Rust doesn't insert them. This sounds like something we should look at doing. :) Patrick ___ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo