[CSHARP-4307] Optimize class and collection deserialization Created: 02/Sep/22 Updated: 20/Jan/23 Resolved: 17/Oct/22 |
|
| Status: | Closed |
| Project: | C# Driver |
| Component/s: | BSON |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Unknown |
| Reporter: | Aleksei Troepolskii | Assignee: | Boris Dogadov |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Epic Link: | Improve Serialization | ||||||||
| Description |
|
Class deserializer has many work with reflection , excess loop checks, set values to properties produce boxing Collection deserialization create excess list instead of return the ready one and again - REFLECTION.... I solved these problems: https://github.com/mongodb/mongo-csharp-driver/pull/871
Links: 1) PR: https://github.com/mongodb/mongo-csharp-driver/pull/871 2) Test Project: https://github.com/troepolik/testMongoDBPerformance just set reference to BSON project, sure you set release mode and run, and press to repeate several times to see statistics, then switch to my optimized project. Sugestion: press repeat in moment when CPU% is low. |