Do not keep jobs and profiles in memory more than needed
Describe what the merge request does
- Smart-pointer-ify all Job* and Profile*
- Do not keep a Job in memory when it has completed
- Do not keep a Profile in memory when no more job is using it (kind of a garbage collection)
- Add a CLI option to enable the re-use of Profiles, thus disabling the garbage collection of Profiles
Checklist
Branch name.
-
Descriptive and short -
Use hyphens to separate words
Branch content.
-
Only dedicated to the problem. -
Based on Batsim's official master branch. -
Straightforward. Just a sequence of commits. Does not contain merge commits. -
Test results are not worse than before.