Skip to content
Snippets Groups Projects

Continued reworking of the GlobalChi2Fitter internal memory architecture

Merged Stephen Nicholas Swatman requested to merge refactor/gx2f_more_smart_pointers into master

This merge request continues my previous work on refactoring the internal memory model of the GlobalChi2Fitter. Previously, there was rampant use of raw pointers (with an assumption of ownership), and the new and delete keywords. This merge request gets rid of virtually all of these cases, and almost all heal allocations in the fitter should now be covered by std::unique_ptr. The goal here is to make the code easier to understand by making the ownership model more explicit, make the code easier to maintain, and improve memory safety. As an added benefit, it also reduces the code volume a little.

My apologies a priori for the rather dense merge request. I've intentionally divided it into relatively small commits for easier analysis and debugging.

I've tested this merge request and have not observed any differences in output quality or CPU performance.

Merge request reports

Pipeline #1906119 passed

Pipeline passed for 2e078b48 on refactor/gx2f_more_smart_pointers

Merged by Walter LamplWalter Lampl 4 years ago (Sep 3, 2020 11:21am UTC)

Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • added 2 commits

    • d80ed352 - Remove ownership-transferring take methods
    • 2e078b48 - Add some pointer ownership documentation

    Compare with previous version

  • :warning: WARNING: big files (>100K) are found in the changeset

    :pencil: 276K in file Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx

  • This merge request affects 1 package:

    • Tracking/TrkFitter/TrkGlobalChi2Fitter

    Adding @amorley as watcher

  • resolved all threads

  • :negative_squared_cross_mark: CI Result FAILURE (hash 2e078b48)

    Athena AthSimulation AthGeneration AnalysisBase
    externals :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    cmake :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    make :o: :o: :white_check_mark: :white_check_mark:
    required tests :o: :o: :white_check_mark: :white_check_mark:
    optional tests :cloud: :white_check_mark: :white_check_mark: :white_check_mark:

    Full details available on this CI monitor view
    :o: Athena: number of compilation errors 1, warnings 1
    :o: AthSimulation: number of compilation errors 1, warnings 0
    :white_check_mark: AthGeneration: number of compilation errors 0, warnings 0
    :white_check_mark: AnalysisBase: number of compilation errors 0, warnings 0
    :pencil: For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 19680]

  • Jenkins please retry a build

  • :warning: WARNING: big files (>100K) are found in the changeset

    :pencil: 276K in file Tracking/TrkFitter/TrkGlobalChi2Fitter/src/GlobalChi2Fitter.cxx

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading