-
Type: New Feature
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: 1.8
-
Component/s: Performance
-
None
-
Environment:All
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.