Uploaded image for project: 'C# Driver'
  1. C# Driver
  2. CSHARP-709

Implement compilable serializer

    XMLWordPrintableJSON

Details

    • Icon: New Feature New Feature
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • 1.8
    • Performance
    • None
    • All

    Description

      C# drivers docs, claim that bson serialization is working very much like XmlSerializer in .Net.
      But XmlSerializer uses code generation, which allows to perform direct operations on entities and is quite fast.
      On the other hand, BsonSerializer uses reflection to read/write properties.
      I did some testing, on a simple object with ~10 properties. Implementing BSON serialization manually (hardcoded work with BsonReader) is 80-100% faster, then current BSON serializer.
      So, we could have almost twice faster deserialization.
      If anyone interested, I can attach my test source code.

      On my Core i7 box in one thread/release, I get about 60kOps with current implementation and 120kOps with my hardcoded usage of BsonBuffer.

      Attachments

        Activity

          People

            Unassigned Unassigned
            maxbl4 Vladimir Perevalov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: