This patch reduces collection loading time by preallocating enough space in primary index ahead of time.
When a collection is closed, the number of documents in the collection will be stored in the collection's JSON info file.
This value is used to determine the initial size for the primary index when the collection is loaded next time.
Datafile iteration has also been made slightly faster.
The above changes will have a significant benefit when the collection's datafiles are already in the OS buffer cache, and when there are no secondary indexes.
Loading datafiles from disk or building secondary indexes may be more time-consuming than the improvements reapable by this patch, but the patch shouldn't hurt anyway.