<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:52:45 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-19977] 30-50% performance regression in basic performance tests using mongo shell</title>
                <link>https://jira.mongodb.org/browse/SERVER-19977</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Saw a 30-50% performance decline with a standalone mongod between 3.1.6 and the 08-15 daily build on 8 threads doing a simple insert workload (separate collections to facilitate mmapv1 testing, not essential to repro on WT):&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;function insert(thread) {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    every = 10000&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    c = db[&apos;c&apos;+thread]&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    for (var i=0; i&amp;lt;500000; ) {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;        var bulk = c.initializeUnorderedBulkOp();&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;        for (var j=0; j&amp;lt;every; j++, i++)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;            bulk.insert({x:0})&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;        bulk.execute()&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;Execution time in seconds:&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;              wiredtiger     mmapv1&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;3.1.6             16           18&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;08-15 build       30           27       9b4d20439910450acf1385723c85f86bf41d15f0&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;Affects both WT and mmapv1.&lt;/p&gt;

&lt;p&gt;Git bisect identified 2a6a8f7cf32465da072e63ee9e1272907b6bfa54 as the first bad commit, related to changing the default JS engine to SpiderMonkey.&lt;/p&gt;</description>
                <environment></environment>
        <key id="225863">SERVER-19977</key>
            <summary>30-50% performance regression in basic performance tests using mongo shell</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="mira.carey@mongodb.com">Mira Carey</assignee>
                                    <reporter username="bruce.lucas@mongodb.com">Bruce Lucas</reporter>
                        <labels>
                    </labels>
                <created>Sun, 16 Aug 2015 21:12:42 +0000</created>
                <updated>Thu, 15 Oct 2015 19:08:07 +0000</updated>
                            <resolved>Wed, 7 Oct 2015 01:23:02 +0000</resolved>
                                                    <fixVersion>3.2.0-rc0</fixVersion>
                                    <component>Shell</component>
                                        <votes>0</votes>
                                    <watches>17</watches>
                                                                                                                <comments>
                            <comment id="1053346" author="xgen-internal-githook" created="Wed, 7 Oct 2015 03:45:02 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19977&quot; title=&quot;30-50% performance regression in basic performance tests using mongo shell&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19977&quot;&gt;&lt;del&gt;SERVER-19977&lt;/del&gt;&lt;/a&gt; More fixes for javascript opt&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;get an owned bsonobj in runCommandWithMetadata&lt;/li&gt;
	&lt;li&gt;increase the guard stack size to 32k (needed for debug asan builds)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/83e3c1f6ea6e72b84f61bd4fcaa06ca2bdd59983&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/83e3c1f6ea6e72b84f61bd4fcaa06ca2bdd59983&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="1053324" author="xgen-internal-githook" created="Wed, 7 Oct 2015 03:01:42 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19977&quot; title=&quot;30-50% performance regression in basic performance tests using mongo shell&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19977&quot;&gt;&lt;del&gt;SERVER-19977&lt;/del&gt;&lt;/a&gt; add move operators to jsstringwrapper&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/f4cd4c9cec5e6e4c15ec48cc7c8f9366ba9cdf76&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/f4cd4c9cec5e6e4c15ec48cc7c8f9366ba9cdf76&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1053289" author="xgen-internal-githook" created="Wed, 7 Oct 2015 01:32:30 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19977&quot; title=&quot;30-50% performance regression in basic performance tests using mongo shell&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19977&quot;&gt;&lt;del&gt;SERVER-19977&lt;/del&gt;&lt;/a&gt; cstdint is required for std::int32_t&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/43863d9b90ad0b5627fa7f3e9065333836ce120c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/43863d9b90ad0b5627fa7f3e9065333836ce120c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1053283" author="xgen-internal-githook" created="Wed, 7 Oct 2015 01:20:33 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19977&quot; title=&quot;30-50% performance regression in basic performance tests using mongo shell&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19977&quot;&gt;&lt;del&gt;SERVER-19977&lt;/del&gt;&lt;/a&gt; Optimize JS -&amp;gt; BSON conversion&lt;/p&gt;

&lt;p&gt;Rather than a single tree of conditionals for object -&amp;gt; bson conversion,&lt;br/&gt;
only run checks against our types if they actually have a custom&lt;br/&gt;
jsclass and only check for array/date/regex if they&apos;re standard&lt;br/&gt;
types.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/a170361541dd9ec3112046d4aff10e3ae65939f6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/a170361541dd9ec3112046d4aff10e3ae65939f6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1053282" author="xgen-internal-githook" created="Wed, 7 Oct 2015 01:20:32 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19977&quot; title=&quot;30-50% performance regression in basic performance tests using mongo shell&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19977&quot;&gt;&lt;del&gt;SERVER-19977&lt;/del&gt;&lt;/a&gt; Use JS_NewArrayObject directly&lt;/p&gt;

&lt;p&gt;Rather than creating objects with stringified integer keys, just create&lt;br/&gt;
them directly with JS_NewArrayObject, which can take JS::CallArgs or&lt;br/&gt;
JS::AutoValueVector&apos;s directly.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/054b0faf2cc16e3d40d2d40ffdda1e219e4c24e3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/054b0faf2cc16e3d40d2d40ffdda1e219e4c24e3&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1053281" author="xgen-internal-githook" created="Wed, 7 Oct 2015 01:20:31 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19977&quot; title=&quot;30-50% performance regression in basic performance tests using mongo shell&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19977&quot;&gt;&lt;del&gt;SERVER-19977&lt;/del&gt;&lt;/a&gt; Re-work JS ObjectID&lt;/p&gt;

&lt;p&gt;Rather than storing a string with the encoded oid, just store a pointer&lt;br/&gt;
to the oid and convert it to a string on demand for &quot;str&quot; access.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/cad0c421371e55fdf65c0be4badd23120bec72c1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/cad0c421371e55fdf65c0be4badd23120bec72c1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1053280" author="xgen-internal-githook" created="Wed, 7 Oct 2015 01:20:30 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19977&quot; title=&quot;30-50% performance regression in basic performance tests using mongo shell&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19977&quot;&gt;&lt;del&gt;SERVER-19977&lt;/del&gt;&lt;/a&gt; DB::getProperty improvements in JS&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Make the getProperty function more efficient by not reading out&lt;br/&gt;
  _fullName if we don&apos;t have an opcontext.&lt;/li&gt;
	&lt;li&gt;Delay grabbing the parent prototype&lt;/li&gt;
	&lt;li&gt;hasOwnField in places we can use it&lt;/li&gt;
	&lt;li&gt;Better Id management (less string conversion)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/b0c83fe82db91e239b706c21636e9aae318e640f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/b0c83fe82db91e239b706c21636e9aae318e640f&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="1053279" author="xgen-internal-githook" created="Wed, 7 Oct 2015 01:20:29 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19977&quot; title=&quot;30-50% performance regression in basic performance tests using mongo shell&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19977&quot;&gt;&lt;del&gt;SERVER-19977&lt;/del&gt;&lt;/a&gt; JS ObjectWrapper improvements&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;hasOwnField, which doesn&apos;t do prototype traversal the way hasField&lt;br/&gt;
  does.&lt;/li&gt;
	&lt;li&gt;enumerate can bail early based on the callbacks return value&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/2849baae53c70591f2c8101f4aa858ae64da1770&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/2849baae53c70591f2c8101f4aa858ae64da1770&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="1053278" author="xgen-internal-githook" created="Wed, 7 Oct 2015 01:20:28 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19977&quot; title=&quot;30-50% performance regression in basic performance tests using mongo shell&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19977&quot;&gt;&lt;del&gt;SERVER-19977&lt;/del&gt;&lt;/a&gt; Switch JS BsonHolder to use StringMap&lt;/p&gt;

&lt;p&gt;Using StringMap over std::set&amp;lt;std::string&amp;gt; when checking for removed&lt;br/&gt;
saves a bunch of string creation.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/eebc4b80fd11fe4023700c598e72959533cd77af&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/eebc4b80fd11fe4023700c598e72959533cd77af&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1053277" author="xgen-internal-githook" created="Wed, 7 Oct 2015 01:20:27 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19977&quot; title=&quot;30-50% performance regression in basic performance tests using mongo shell&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19977&quot;&gt;&lt;del&gt;SERVER-19977&lt;/del&gt;&lt;/a&gt; Small Improvements to IdWrapper&lt;/p&gt;

&lt;p&gt;toValue() for serializing to a value&lt;br/&gt;
equalsAscii() for comparing with an ascii string&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/13613424af1ed48c7105651176136f4aef22a675&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/13613424af1ed48c7105651176136f4aef22a675&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1053276" author="xgen-internal-githook" created="Wed, 7 Oct 2015 01:20:26 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19977&quot; title=&quot;30-50% performance regression in basic performance tests using mongo shell&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19977&quot;&gt;&lt;del&gt;SERVER-19977&lt;/del&gt;&lt;/a&gt; Offer a stack based JSStringWrapper&lt;/p&gt;

&lt;p&gt;Small string optimization for encoding utf8 strings from JS strings on&lt;br/&gt;
the stack. Additions to the api to use on stack buffers.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/8d65462cd4b56fd12d3fbe8799ee78be677bae38&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/8d65462cd4b56fd12d3fbe8799ee78be677bae38&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1053275" author="xgen-internal-githook" created="Wed, 7 Oct 2015 01:20:24 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;hanumantmk&apos;, u&apos;name&apos;: u&apos;Jason Carey&apos;, u&apos;email&apos;: u&apos;jcarey@argv.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-19977&quot; title=&quot;30-50% performance regression in basic performance tests using mongo shell&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-19977&quot;&gt;&lt;del&gt;SERVER-19977&lt;/del&gt;&lt;/a&gt; Intern JS Strings&lt;/p&gt;

&lt;p&gt;Rather than supplying const char*&apos;s throughout our use of the MozJS api,&lt;br/&gt;
intern the strings and root their associated ids (to save on string&lt;br/&gt;
parsing).&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/95060c27ed2dddcb6343a88f7aa405ed8a935ad7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/95060c27ed2dddcb6343a88f7aa405ed8a935ad7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1006688" author="bruce.lucas@10gen.com" created="Sun, 16 Aug 2015 21:24:42 +0000"  >&lt;p&gt;The issue here actually seems to be in the mongo shell - top shows mongo shell processes using 2x the CPU and the mongod process using 0.5 the CPU for the same test after the switch to SpiderMonkey. Confirmed by using an older shell with a recent mongod that the issue is with the shell.&lt;/p&gt;

&lt;p&gt;This is a problem to the extent that people use the shell for simple performance tests.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>13.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_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Mon, 5 Oct 2015 20:51:02 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        8 years, 19 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></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-159</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>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            8 years, 19 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10026"><![CDATA[ALL]]></customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hre8fr:</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="628">Platform 8 08/28/15</customfieldvalue>
    <customfieldvalue id="673">Platform 9 (09/18/15)</customfieldvalue>
    <customfieldvalue id="688">Platform A (10/09/15)</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|hrtnwv:</customfieldvalue>

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