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

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Done
    • Priority: Major - P3
    • 3.3.0
    • Affects Version/s: 3.0.0
    • Component/s: BSON, Performance
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • 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.

              Assignee:
              Jeffrey Yemin
              Reporter:
              Jeffrey Yemin
              None
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: