Details
-
Improvement
-
Status: Closed
-
Major - P3
-
Resolution: Fixed
-
3.0.0
-
None
Description
For Document, BsonDocument, and DBObject Codec.decode implementations, there is a code path for looking up the Codec for a value that requires two lookups in a Map; first by one in BsonTypeClassMap, then followed by one in CodecCache. This could easily be turned into a single lookup in an array that has an entry for each BsonType and a value which is the Codec to use for that BsonType.
Performance benchmarks show that the performance gains would be significant for simple documents.