Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a singleton method to the CenterID to cache the instantiation and re-use it. The value of a CenterID often comes from the database as an int, but needs to be converted to a CenterID class in order for various function calls and type checking (in particular, for permission access.) Instantiating a new CenterID each time uses a large amount of memory and puts a large degree of pressure on the garbage checker for big datasets, especially places that need to check access to many candidates or timepoints (such as the dataquery module.)
Replacing it with a singleton uses much less memory in these cases.