no longer eagerly use tcmalloc if it's found #1363
Merged
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.
Since EOSIO 1.0 tcmalloc (from gperftools) would be used if it was found during cmake configuration. Despite that, we've never once had tcmalloc enabled in any sort of CI. I know in certain historical configurations, such as Ubuntu 16.04, the tcmalloc available from the standard package repo caused a dead lock in one of the unit tests (of course, the fault certainly could be have in the test, hard to say).
The benefit of using tcmalloc is supposed improved performance, but we don't have any recent data (or maybe any data ever) to back up that claim.
It seems a little reckless to eagerly enable features like this that we don't actually test ourselves. So move tcmalloc usage behind a cmake option that is defaulted to
off
. Using tcmalloc is still useful for leap developers due to its profiler, etc.A nice side effect is this may improve the reliability of the proposed automatic database migration approach too.