<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 04:42:30 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>[SERVER-36243] Take advantage of c++14 sized delete facilities in tc_malloc</title>
                <link>https://jira.mongodb.org/browse/SERVER-36243</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Google reported substantial performance improvement by adopting sized delete.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Tasks:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Ensure we are building tcmalloc in a way that enables sized delete&lt;/li&gt;
	&lt;li&gt;Ensure we are passing the c++ flags to tell the compiler to use it automatically where it can&lt;/li&gt;
	&lt;li&gt;Make sure all of the Document/Value allocations (including RCString) can use sized delete
	&lt;ul&gt;
		&lt;li&gt;May need to make second argument to &lt;tt&gt;RCString::operator new()&lt;/tt&gt; a different type (currently size_t)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Find the best way to expose a sized &lt;tt&gt;free&lt;/tt&gt; equivalent for code using malloc/relloc/free
	&lt;ul&gt;
		&lt;li&gt;Teach SharedBuffer to used sized &lt;tt&gt;free&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;Teach WiredTiger to use sized &lt;tt&gt;free&lt;/tt&gt; for any allocations that know their own size (WT_UPDATE already identified as an important case)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="575036">SERVER-36243</key>
            <summary>Take advantage of c++14 sized delete facilities in tc_malloc</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</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="3">Duplicate</resolution>
                                        <assignee username="henrik.edin@mongodb.com">Henrik Edin</assignee>
                                    <reporter username="mathias@mongodb.com">Mathias Stearn</reporter>
                        <labels>
                    </labels>
                <created>Mon, 23 Jul 2018 16:04:15 +0000</created>
                <updated>Thu, 11 May 2023 19:47:06 +0000</updated>
                            <resolved>Mon, 25 Mar 2019 22:20:50 +0000</resolved>
                                                                    <component>Internal Code</component>
                    <component>Performance</component>
                                        <votes>0</votes>
                                    <watches>9</watches>
                                                                                                                <comments>
                            <comment id="2191268" author="acm" created="Mon, 25 Mar 2019 22:20:50 +0000"  >&lt;p&gt;Re-closing as a duplicate of &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-40197&quot; title=&quot;Reapply work for sized delete&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-40197&quot;&gt;&lt;del&gt;SERVER-40197&lt;/del&gt;&lt;/a&gt;. This work landed for 4.1.9 but was reverted after 4.1.9.&lt;/p&gt;</comment>
                            <comment id="2183960" author="xgen-internal-githook" created="Mon, 18 Mar 2019 16:31:49 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;acm@mongodb.com&apos;, &apos;name&apos;: &apos;Andrew Morrow&apos;, &apos;username&apos;: &apos;acmorrow&apos;}
&lt;p&gt;Message: Revert &quot;&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-36243&quot; title=&quot;Take advantage of c++14 sized delete facilities in tc_malloc&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-36243&quot;&gt;&lt;del&gt;SERVER-36243&lt;/del&gt;&lt;/a&gt; Use sized deallocation.&quot;&lt;/p&gt;

&lt;p&gt;This reverts commit afe082642124dbda2367cb51c3d748873df9bf7b.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/5ab83a702659235ea138c62fca3e608bb1def8cf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/5ab83a702659235ea138c62fca3e608bb1def8cf&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2178832" author="xgen-internal-githook" created="Tue, 12 Mar 2019 19:35:38 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Henrik Edin&apos;, &apos;email&apos;: &apos;henrik.edin@mongodb.com&apos;, &apos;username&apos;: &apos;henrikedin&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-36243&quot; title=&quot;Take advantage of c++14 sized delete facilities in tc_malloc&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-36243&quot;&gt;&lt;del&gt;SERVER-36243&lt;/del&gt;&lt;/a&gt; Use sized deallocation.&lt;/p&gt;

&lt;p&gt;Added mongoFree to be used when allocating memory with mongoMalloc.&lt;br/&gt;
It has an overload taking size utilizing tc_free_sized if built with tcmalloc.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/afe082642124dbda2367cb51c3d748873df9bf7b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/afe082642124dbda2367cb51c3d748873df9bf7b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2142480" author="bruce.lucas@10gen.com" created="Fri, 8 Feb 2019 15:37:23 +0000"  >&lt;p&gt;We should also check whether this plays well with the built-in heap profiler (util/heap_profiler.cpp). I expect it should because the heap profiler hooks in at a lower level of tcmalloc, but it&apos;s worth checking to be sure.&lt;/p&gt;</comment>
                            <comment id="2127904" author="acm" created="Fri, 25 Jan 2019 18:19:04 +0000"  >&lt;p&gt;Also need to remember to pass in the --enable-sized-delete or windows equivalent when configuring (and investigate what is needed in the toolchain flags as well (&lt;tt&gt;-fsized-deallocation&lt;/tt&gt; or &lt;tt&gt;/Zc:sizedDealloc&lt;/tt&gt;.&lt;/p&gt;</comment>
                            <comment id="2127894" author="acm" created="Fri, 25 Jan 2019 18:12:10 +0000"  >&lt;p&gt;This should also include rebuilding all configs with v3 toolchain.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                                        </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                        <issuelink>
            <issuekey id="718679">SERVER-40197</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10520">
                    <name>Problem/Incident</name>
                                            <outwardlinks description="causes">
                                        <issuelink>
            <issuekey id="717115">SERVER-40138</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="687905">SERVER-39506</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18555" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname># of Sprints</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 25 Jan 2019 18:12:10 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        4 years, 46 weeks, 2 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<s><a href='https://jira.mongodb.org/browse/PM-1111'>PM-1111</a></s>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>PM-1318</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>billy.donahue@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            4 years, 46 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_16465" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Linked BF Score</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>16.0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>andrew.morrow@mongodb.com</customfieldvalue>
            <customfieldvalue>bruce.lucas@mongodb.com</customfieldvalue>
            <customfieldvalue>xgen-internal-githook</customfieldvalue>
            <customfieldvalue>henrik.edin@mongodb.com</customfieldvalue>
            <customfieldvalue>mathias@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hu38hj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hughvj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="2802">Dev Tools 2019-02-25</customfieldvalue>
    <customfieldvalue id="2803">Dev Tools 2019-03-11</customfieldvalue>
    <customfieldvalue id="2838">Dev Tools 2019-03-25</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hu2uqv:</customfieldvalue>

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