[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 5 commits: testsuite: Pass -kb16k -kc128k for performance tests

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Wed May 31 10:14:27 UTC 2023



Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
b4816919 by Matthew Pickering at 2023-05-30T17:07:43-04:00
testsuite: Pass -kb16k -kc128k for performance tests

Setting a larger stack chunk size gives a greater protection
from stack thrashing (where the repeated overflow/underflow allocates a lot of
stack chunks which sigificantly impact allocations). This
stabilises some tests against differences cause by more things being
pushed onto the stack.

The performance tests are generally testing work done by the compiler,
using allocation as a proxy, so removing/stabilising the allocations due
to the stack gives us more stable tests which are also more sensitive
to actual changes in compiler performance.

The tests which increase are ones where we compile a lot of modules, and
for each module we spawn a thread to compile the module in. Therefore
increasing these numbers has a multiplying effect on these tests because
there are many more stacks which we can increase in size.

The most significant improvements though are cases such as T8095 which
reduce significantly in allocations (30%). This isn't a performance
improvement really but just helps stabilise the test against this
threshold set by the defaults.

Fixes #23439

-------------------------
Metric Decrease:
    InstanceMatching
    T14683
    T8095
    T9872b_defer
    T9872d
    T9961
    hie002
    T19695
    T3064
Metric Increase:
    MultiLayerModules
    T13701
    T14697
-------------------------

- - - - -
6629f1c5 by Ben Gamari at 2023-05-30T17:08:20-04:00
Move via-C flags into GHC

These were previously hardcoded in configure (with no option for
overriding them) and simply passed onto ghc through the settings file.

Since configure already guarantees gcc supports those flags, we simply
move them into GHC.

- - - - -
e159ebce by Arnaud Spiwack at 2023-05-31T06:14:19-04:00
Allow CPR on unrestricted constructors

Per the new `Note [Linting linearity]`, we want optimisations over
trying to preserve linearity. This will allow CPR to handle `Ur`, in
particular.

- - - - -
1c8c81ea by Arnaud Spiwack at 2023-05-31T06:14:19-04:00
Push coercions across multiplicity boundaries

Per the new `Note [Linting linearity]`, we want optimisations over
trying to preserve linearity. This will avoid preventing inlinings and
reductions and make linear programs more efficient.

- - - - -
4b423d59 by mimi.vx at 2023-05-31T06:14:22-04:00
Update rdt-theme to latest upstream version

Fixes https://gitlab.haskell.org/ghc/ghc/-/issues/23444

- - - - -


30 changed files:

- compiler/GHC/Builtin/Types/Prim.hs
- compiler/GHC/Core/Opt/Arity.hs
- compiler/GHC/Core/Opt/WorkWrap/Utils.hs
- compiler/GHC/Settings/IO.hs
- configure.ac
- distrib/configure.ac.in
- docs/users_guide/rtd-theme/__init__.py
- docs/users_guide/rtd-theme/breadcrumbs.html
- docs/users_guide/rtd-theme/footer.html
- docs/users_guide/rtd-theme/layout.html
- + docs/users_guide/rtd-theme/locale/da/LC_MESSAGES/sphinx.mo
- + docs/users_guide/rtd-theme/locale/da/LC_MESSAGES/sphinx.po
- + docs/users_guide/rtd-theme/locale/de/LC_MESSAGES/sphinx.mo
- + docs/users_guide/rtd-theme/locale/de/LC_MESSAGES/sphinx.po
- + docs/users_guide/rtd-theme/locale/en/LC_MESSAGES/sphinx.mo
- + docs/users_guide/rtd-theme/locale/en/LC_MESSAGES/sphinx.po
- + docs/users_guide/rtd-theme/locale/es/LC_MESSAGES/sphinx.mo
- + docs/users_guide/rtd-theme/locale/es/LC_MESSAGES/sphinx.po
- + docs/users_guide/rtd-theme/locale/et/LC_MESSAGES/sphinx.mo
- + docs/users_guide/rtd-theme/locale/et/LC_MESSAGES/sphinx.po
- + docs/users_guide/rtd-theme/locale/fa_IR/LC_MESSAGES/sphinx.mo
- + docs/users_guide/rtd-theme/locale/fa_IR/LC_MESSAGES/sphinx.po
- + docs/users_guide/rtd-theme/locale/fr/LC_MESSAGES/sphinx.mo
- + docs/users_guide/rtd-theme/locale/fr/LC_MESSAGES/sphinx.po
- + docs/users_guide/rtd-theme/locale/hr/LC_MESSAGES/sphinx.mo
- + docs/users_guide/rtd-theme/locale/hr/LC_MESSAGES/sphinx.po
- + docs/users_guide/rtd-theme/locale/hu/LC_MESSAGES/sphinx.mo
- + docs/users_guide/rtd-theme/locale/hu/LC_MESSAGES/sphinx.po
- + docs/users_guide/rtd-theme/locale/it/LC_MESSAGES/sphinx.mo
- + docs/users_guide/rtd-theme/locale/it/LC_MESSAGES/sphinx.po


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f6f46fc6479890d07e5c215e40cc3bd6a954a9d6...4b423d598444e2024d9716fb20a235ca97f7f24d

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f6f46fc6479890d07e5c215e40cc3bd6a954a9d6...4b423d598444e2024d9716fb20a235ca97f7f24d
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20230531/53af6cd8/attachment.html>


More information about the ghc-commits mailing list