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