<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:38:15 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-944] Investigate using a Trie to speed up UTF8 decoding of element names</title>
                <link>https://jira.mongodb.org/browse/CSHARP-944</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;The driver spends a lot of time decoding UTF8 strings, which is expensive.&lt;/p&gt;

&lt;p&gt;We currently use a Trie in BsonClassMapSerializer to avoid decoding the element names (it also avoids the dictionary lookup for the member map information).&lt;/p&gt;

&lt;p&gt;Investigate using a Trie to speed up UTF8 decoding of element names in general. The idea is to have some form of Trie-based LRU cache of recently seen element names. The number of strings to be cached should probably be configurable. As long as the hit ratio is high there should be a significant speed up. Even just a few megabytes dedicated to this should yield very high hit ratios.&lt;/p&gt;

&lt;p&gt;Most likely there would be a single global Trie holding decoded UTF8 strings, but we may want to be able to configure at the collection level whether it would be used or not (for example, you might want to exclude a collection known to have a very large number of element names for some reason).&lt;/p&gt;</description>
                <environment></environment>
        <key id="128833">CSHARP-944</key>
            <summary>Investigate using a Trie to speed up UTF8 decoding of element names</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="2">Won&apos;t Fix</resolution>
                                        <assignee username="robert@mongodb.com">Robert Stam</assignee>
                                    <reporter username="robert@mongodb.com">Robert Stam</reporter>
                        <labels>
                    </labels>
                <created>Tue, 1 Apr 2014 19:25:36 +0000</created>
                <updated>Mon, 16 Jun 2014 17:23:54 +0000</updated>
                            <resolved>Fri, 13 Jun 2014 20:12:26 +0000</resolved>
                                    <version>2.0</version>
                                    <fixVersion>2.0</fixVersion>
                                    <component>BSON</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="620698" author="rstam" created="Fri, 13 Jun 2014 20:12:11 +0000"  >&lt;p&gt;We have decided not to do this because benchmarking has proven that the small amount of CPU time saved by not doing UTF8 decoding is not enough to amortize the cost of managing a cache.&lt;/p&gt;</comment>
                            <comment id="531462" author="rstam" created="Tue, 1 Apr 2014 19:29:57 +0000"  >&lt;p&gt;One thing to consider is that when a Dictionary&amp;lt;string, TSomeValue&amp;gt; is serialized using the default representation of a BSON document where the keys become element names, that will result in a potentially large number of element names.&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|hrfdlz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2078</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="131">Sprint 2</customfieldvalue>
    <customfieldvalue id="182">Sprint 3 - May 25 - High Level</customfieldvalue>

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