[issue41181] [macOS] Build macOS installer with LTO and PGO optimizations

2020-11-01 Thread STINNER Victor
STINNER Victor added the comment: > Link Time Optimization (LTO) and Profile-Guided Optimization (PGO) have a > major impact on Python performance: they make Python between 10% and 30% > faster (coarse estimation). > > Currently, macOS installers distributed on python.org are built with

[issue41181] [macOS] Build macOS installer with LTO and PGO optimizations

2020-07-01 Thread Ned Deily
Ned Deily added the comment: er, "macOS 11.0 Big Sur" :) -- ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue41181] [macOS] Build macOS installer with LTO and PGO optimizations

2020-07-01 Thread Ned Deily
Ned Deily added the comment: I should have made it clearer that we expect to release a new installer variant for macOS 11.6 Big Sur that supports both Intel and Apple Silicon architectures later this year (i.e. in several months) when Big Sur releases. It will be much easier to support

[issue41181] [macOS] Build macOS installer with LTO and PGO optimizations

2020-07-01 Thread STINNER Victor
STINNER Victor added the comment: If clang 6.0 is a dead end for LTO, another option is to build a recent clang version on macOS 10.9. If I manage to do that, would it sound like an acceptable solution? I don't expect any API/ABI issue just by changing the clang version. Upgrading clang

[issue41181] [macOS] Build macOS installer with LTO and PGO optimizations

2020-07-01 Thread STINNER Victor
STINNER Victor added the comment: >> Clang 6.0 doesn't support LTO and PGO? > No, it appears not. That's really surprising. I see LTO mentioned in LLVM 3.4 changelog for example: https://releases.llvm.org/3.4/tools/clang/docs/ReleaseNotes.html#new-compiler-flags Did you try to build Python

[issue41181] [macOS] Build macOS installer with LTO and PGO optimizations

2020-07-01 Thread Ned Deily
Ned Deily added the comment: > Clang 6.0 doesn't support LTO and PGO? No, it appears not. And it's not an oversight that we don't use the these options. As Łukasz points out, for the current macOS installer variants we supply are designed to run on all Mac systems from macOS 10.9 on. To

[issue41181] [macOS] Build macOS installer with LTO and PGO optimizations

2020-07-01 Thread STINNER Victor
STINNER Victor added the comment: > We cannot depend on PGO and LTO for it unless we start building the installer > on 10.15. Clang 6.0 doesn't support LTO and PGO? Would you mind to elaborate? -- ___ Python tracker

[issue41181] [macOS] Build macOS installer with LTO and PGO optimizations

2020-07-01 Thread Łukasz Langa
Łukasz Langa added the comment: The installer is built on Mac OS X 10.9 so that it is forward compatible with all OS X and macOS versions. We cannot depend on PGO and LTO for it unless we start building the installer on 10.15. We cannot do this currently as those installers would not work

[issue41181] [macOS] Build macOS installer with LTO and PGO optimizations

2020-07-01 Thread STINNER Victor
Change by STINNER Victor : -- components: +macOS nosy: +inada.naoki, ned.deily, rhettinger, ronaldoussoren ___ Python tracker ___

[issue41181] [macOS] Build macOS installer with LTO and PGO optimizations

2020-07-01 Thread STINNER Victor
Change by STINNER Victor : -- keywords: +patch pull_requests: +20402 stage: -> patch review pull_request: https://github.com/python/cpython/pull/21256 ___ Python tracker ___

[issue41181] [macOS] Build macOS installer with LTO and PGO optimizations

2020-07-01 Thread STINNER Victor
STINNER Victor added the comment: The performance issue was noticed by Raymond Hettinger who ran a microbenchmark on tuplegetter_descr_get(), comparison between Python 3.8 and Python 3.9: https://mail.python.org/archives/list/python-...@python.org/message/Q3YHYIKNUQH34FDEJRSLUP2MTYELFWY3/

[issue41181] [macOS] Build macOS installer with LTO and PGO optimizations

2020-07-01 Thread STINNER Victor
New submission from STINNER Victor : Link Time Optimization (LTO) and Profile-Guided Optimization (PGO) have a major impact on Python performance: they make Python between 10% and 30% faster (coarse estimation). Currently, macOS installers distributed on python.org are built with Clang 6.0