On Wed, May 30, 2018 at 02:40:01PM +0300, Henri Sivonen wrote:
> On Wed, May 30, 2018 at 8:06 AM, Dave Townsend <dtowns...@mozilla.com> wrote:
> > On Tue, May 29, 2018 at 10:03 PM Jeff Gilbert <jgilb...@mozilla.com> wrote:
> >> I get that, but it reminds me of the reasons people give for "our
> >> website works best in $browser".
> >
> > I was concerned by this too but found myself swayed by the arguments in
> > https://blog.mozilla.org/nfroyd/2018/05/29/when-implementation-monoculture-right-thing/and
> > in particular the first comment there.
> 
> Indeed, the first comment there (by roc) gets to the point.
> 
> Additionally, the reasons for not supporting multiple browsers tend to
> be closer to the "didn't bother" kind whereas we're looking to get a
> substantial benefit from clang that MSVC and GCC don't offer to us but
> clang likely will: Cross-language inlining across code compiled with
> clang and code compiled with rustc.
> 
> To the extent Mozilla runs the compiler, it makes sense to go for the
> Open Source choice that allows us to deliver better on "performance as
> a feature". We still have at least one static analysis running on GCC,
> so I wouldn't expect GCC-compatibility to be dropped even if the app
> wouldn't be "best compiled with" GCC. The Linux distro case is
> trickier than Mozilla's compiler choice. For CPUs that are tier-3 for
> Mozilla, we already tolerate less great performance attributes in
> order to enable availability, so distros keeping using GCC for tier-3
> probably isn't a problem. x86_64 could be a problem, though. If
> Firefox's performance becomes significantly dependent on having
> cross-language inlining, and I expect it will, having a substantial
> portion of the user base run without it while thinking they have a
> top-tier build could be bad. I hope we can get x86_64 Linux distros to
> track our compiler configuration closely.

That part might end up more difficult than one could expect.
Cross-language inlining is going to require rustc and clang having a
compatible llvm ir, and that's pretty much guaranteed to be a problem,
even for Mozilla. I'm sure the day we'll have to choose between not
doing cross-language inlining or upgrading clang for e.g. security
features is relatively close.

Anyways, Mozilla builds today are built with PGO, and many downstreams
don't even do that...

Mike 
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to