<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:38:41 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CSHARP-1111] Reduce the number of serialization contexts that must be created</title>
                <link>https://jira.mongodb.org/browse/CSHARP-1111</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;In our current 2.0 design, a new serialization context must be created every time we descend one level in the hierarchy of the document being serialized or deserialized.&lt;/p&gt;

&lt;p&gt;Most of the time, the only thing that is changing is the nominal type. Perhaps it would be better to move the nominal type out of the serialization context and back as a parameter of the Serialize/Deserialize methods, which would allow us to use the same context over and over, thus reducing GC pressure.&lt;/p&gt;</description>
                <environment></environment>
        <key id="170389">CSHARP-1111</key>
            <summary>Reduce the number of serialization contexts that must be created</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="robert@mongodb.com">Robert Stam</assignee>
                                    <reporter username="robert@mongodb.com">Robert Stam</reporter>
                        <labels>
                    </labels>
                <created>Thu, 20 Nov 2014 13:32:29 +0000</created>
                <updated>Thu, 2 Apr 2015 18:06:00 +0000</updated>
                            <resolved>Thu, 11 Dec 2014 14:42:40 +0000</resolved>
                                                    <fixVersion>2.0</fixVersion>
                                    <component>Serialization</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="783673" author="rstam" created="Thu, 11 Dec 2014 14:42:34 +0000"  >&lt;p&gt;There were more values besides just the nominalType that needed to be moved out of the serialization context, so we introduced Args classes to hold them.&lt;/p&gt;

&lt;p&gt;In summary:&lt;/p&gt;

&lt;p&gt;BsonDeserializationContext/BsonSerializationContext hold values that remain constant all the way down the call stack during serialization (although in some rare cases we might modify the context part way down)&lt;/p&gt;

&lt;p&gt;BsonDeserializationArgs/BsonSerializationArgs hold values that only apply to one level of the call stack.&lt;/p&gt;

&lt;p&gt;The Args classes are small structs so creating them does not increase GC pressure.&lt;/p&gt;</comment>
                            <comment id="783663" author="xgen-internal-githook" created="Thu, 11 Dec 2014 14:38:20 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;rstam&apos;, u&apos;name&apos;: u&apos;rstam&apos;, u&apos;email&apos;: u&apos;robert@robertstam.org&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-1111&quot; title=&quot;Reduce the number of serialization contexts that must be created&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-1111&quot;&gt;&lt;del&gt;CSHARP-1111&lt;/del&gt;&lt;/a&gt;: Remove Parent property from serialization contexts.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/f8f0904d8c856321b218d816244d08b827323c9c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/f8f0904d8c856321b218d816244d08b827323c9c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="783662" author="xgen-internal-githook" created="Thu, 11 Dec 2014 14:38:19 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;rstam&apos;, u&apos;name&apos;: u&apos;rstam&apos;, u&apos;email&apos;: u&apos;robert@robertstam.org&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-1111&quot; title=&quot;Reduce the number of serialization contexts that must be created&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-1111&quot;&gt;&lt;del&gt;CSHARP-1111&lt;/del&gt;&lt;/a&gt;: Split serialization contexts into two parts: a context that remains the same throughout the entire call tree, and args that apply to one serialization level only. The goal is to reduce GC pressure caused by constant creation of child contexts.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/5837692d0bb0faf134e6b7b5f8168a964d39bd60&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/5837692d0bb0faf134e6b7b5f8168a964d39bd60&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hs458f:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>149110</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="353">C# Sprint 12</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>