Closed Bug 799189 Opened 12 years ago Closed 11 years ago

Use mozprocess in cl.py

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla27

People

(Reporter: gps, Assigned: gps)

References

Details

Attachments

(1 file, 3 obsolete files)

Attached patch Use mozprocess in cl.py, v1 (obsolete) — Splinter Review
See bug 794490 comment #10.

I'm holding off review until Try comes back.

https://tbpl.mozilla.org/?tree=Try&rev=fae525b15083
New try is https://tbpl.mozilla.org/?tree=Try&rev=48d84e31bd15 and I can make no sense of the build log.
Can we move forward on this?  Just got another confused dev hitting it (or some variant)  in bug 814619
I forgot why this failed. https://tbpl.mozilla.org/?tree=Try&rev=493da76f6dce
Attached patch Use mozprocess in cl.py (obsolete) — Splinter Review
I'd like to get cl.py invoked as a native pymake command. This might be
a blocker since the last time we landed native cl.py we ran into issues
with output buffering. mozprocess should make things more flexible so we
can address that.

https://tbpl.mozilla.org/?tree=Try&rev=c59d58433b59
Attachment #801926 - Flags: review?(ted)
Attachment #669210 - Attachment is obsolete: true
Assignee: nobody → gps
Attached patch Use mozprocess in cl.py (obsolete) — Splinter Review
The API of mozprocess changed slightly. This patch appears to be
building fine on my Windows machine.

https://tbpl.mozilla.org/?tree=Try&rev=c25f7cdb647e
Attachment #801978 - Flags: review?(ted)
Attachment #801926 - Attachment is obsolete: true
Attachment #801926 - Flags: review?(ted)
mozprocess swallows newlines. This patch re-adds them and makes the
output look sane again.

https://tbpl.mozilla.org/?tree=Try&rev=c958cacd0d5f
Attachment #802054 - Flags: review?(ted)
Attachment #801978 - Attachment is obsolete: true
Attachment #801978 - Flags: review?(ted)
Attachment #802054 - Flags: review?(ted) → review?(mshal)
The patch looks fine to me, though there seems to be a small speed penalty when using it. I am trying:

$ touch xpcom/base/*.cpp
$ time ./mach build xpcom/base
(which builds with -j4)

With patch: 15.035s
Without patch: 13.395s

I've run it several times and the numbers are pretty consistent. Do you get similar results? Is this an acceptable trade-off for this bug?
Flags: needinfo?(gps)
That slowdown is interesting! I wonder if mozprocess is just that much slower, if this is lack of bytecode caching, etc.

This bug is on the road to making cl.py a native pymake command. I would think that step would make things faster overall. So, I'm willing to tolerate a temporary regression as long as we verify the end state if faster.
Flags: needinfo?(gps)
Comment on attachment 802054 [details] [diff] [review]
Use mozprocess in cl.py

Ok, hopefully that will negate any losses here.
Attachment #802054 - Flags: review?(mshal) → review+
https://hg.mozilla.org/projects/build-system/rev/18d33a5c63a0
Status: NEW → ASSIGNED
Flags: in-testsuite-
https://hg.mozilla.org/mozilla-central/rev/18d33a5c63a0
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
Blocks: 585011
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: