[CSHARP-968] Use a Trie in all our handcoded serializers to speed up deserialization Created: 09/May/14  Updated: 02/Apr/15  Resolved: 15/May/14

Status: Closed
Project: C# Driver
Component/s: Serialization
Affects Version/s: 1.9
Fix Version/s: 2.0

Type: Improvement Priority: Minor - P4
Reporter: Robert Stam Assignee: Robert Stam
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Minor Change

 Description   

Currently only BsonClassMapSerializer uses a Trie to speed up deserialization (by replacing element name UTF8 decoding/dictionary lookup with a single fast Trie lookup).

All our serializers should use a Trie.

Create a centralized place that encapsulates all of the following standard behavior:

1. Setting up a Trie for fast element name decoding
2. Looping over elements in a document during deserialization using the Trie
3. Support out of order elements
4. Standardize handling of invalid and missing elements



 Comments   
Comment by Robert Stam [ 13/May/14 ]

NOTE: commit message had wrong JIRA ticket (should be CSHARP-968). Manually pasting here.

Author:

{u'name': u'rstam', u'email': u'robert@10gen.com'}

Message: CSHARP-958: Use Trie in more serializers. Simplify GeoJson serializers.
Branch: master
https://github.com/mongodb/mongo-csharp-driver/commit/0dcc391f33a6777e32411239a9233570487bb789

Generated at Wed Feb 07 21:38:19 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.