3 ms·
Did you read the link we're discussing? It's in large part about why the slow startup times for Firefox's build scripts are a problem. > Changing gears, my day
by sciurus 8y ago
Did you read the link we're discussing? It's in large part about why the slow startup times for Firefox's build scripts are a problem.
> Changing gears, my day job is maintaining Firefox's build system. We use
Python heavily in the build system. And again, Python startup overhead
is problematic. I don't have numbers offhand, but we invoke likely a few
hundred Python processes as part of building Firefox. It should be
several thousand. But, we've had to "hack" parts of the build system to
"batch" certain build actions in single process invocations in order to
avoid Python startup overhead. This undermines the ability of some build
tools to formulate a reasonable understanding of the DAG and it causes a
bit of pain for build system developers and makes it difficult to
achieve "no-op" and fast incremental builds because we're always
invoking certain Python processes because we've had to move DAG
awareness out of the build backend and into Python. At some point, we'll
likely replace Python code with Rust so the build system is more "pure"
and easier to maintain and reason about.
- coldtea 8y ago>Did you read the link we're discussing? It's in large part about why the slow startup times for Firefox's build scripts are a problem. The link we're discussing is about Python runs for the Mercurial test suite. The Firefox build is mentioned in passing. It's not what the post is discussing (and doesn't get into numbers there).
- dannyw 8y agoYou claim that it is “totally irrelevant”. A Firefox maintainer, even in passing, claims otherwise.
- coldtea 8y agoMaybe not totally irrelevant, but it's in most cases not a factor compared to build times. For tests, yes. I can't fathom what Mozilla does for thousands of Python invocations during build. Maybe it's test runs as well?
- traek 8y agoIt doesn't get into the numbers, but it expressly gets into the problems.