Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • L LHCb
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 193
    • Issues 193
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Jira
    • Jira
  • Merge requests 43
    • Merge requests 43
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Issue
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • LHCbLHCb
  • LHCb
  • Merge requests
  • !3092

fix: prefer std::nearbyint over std::round to avoid gcc 10 perf regression

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Christoph Hasse requested to merge chasse_fix_gcc10_perf_regression into master Jun 09, 2021
  • Overview 43
  • Commits 1
  • Pipelines 2
  • Changes 1

What a nice 🐇 🕳 to jump into 🙈

Especially since I could have saved a lot of time if only I remembered !1856 (merged) 🤦
We really should be adding std::round to the list of things we should flag in code review.

Local tests show a slight difference in counters, which is expected as the rounding behavior is a bit different.
Why didn't we run into this problem with gcc9 ?! Well, I can't find a single mention of round when looking at the .so with objdump.
No idea what smart tricks gcc9 played, but the .so from gcc10 had the round functions, so that's why we started paying for them.

fyi: @clemenci @cmarinbe @decianm @jonrob @rmatev @gligorov

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: chasse_fix_gcc10_perf_regression