Uploaded image for project: 'Java Driver'
  1. Java Driver
  2. JAVA-2144

For Codec decoding, optimize code path for looking up Codec based on a BsonType

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.3.0
    • Affects Version/s: 3.0.0
    • Component/s: BSON, Performance
    • None

      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.

            jeff.yemin@mongodb.com Jeffrey Yemin
            jeff.yemin@mongodb.com Jeffrey Yemin
            0 Vote for this issue
            3 Start watching this issue