I made a few changes:
1 - Reduce number of traverses of the vm tree; doing vm.count("something") and vm["something"] are both O(log) operations, but can be accomplished with a single O(log) using vm.find() instead. This also removes duplicated hardcoded strings (although that could have also been done by creating a variable), vm derives from std::map so count will always either be 0 or 1.
2 - Remove excess std::endl usage. This creates a newline, but also flushes the buffer (expensive), it is recommended to use "\n" when needing a new line instead, and only explicitly flush when necessary.
3 - Removed a warning under MSVC 2017 about converting size_t to uint32_t in the "debug_mass_activity" compound block.
4 - There were a couple of "for (uint64_t i (0); true; ++i)" blocks, but i is never used which is a bit confusing (and the front-end compiler did not pick this up either), so I have changed it to be a "while (true)" loop instead. I changed the existing for (; true; ) block to be while (true) as well for consistency.
5 - Removed some unused variable warning declarators in the catch parameter declaration, i.e e
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.