Files
json/images/perf_blog_timeline_parse_citm.svg
T
2026-11-09 18:59:22 +00:00

46 lines
12 KiB
XML

<svg class="nj-fig nj-charts nj-charts--timeline" viewBox="0 0 340 270" role="img" aria-labelledby="nj-blog-tl-parse_citm nj-blog-tl-parse_citm-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-tl-parse_citm">parse() citm_catalog.json: speedup over 3.12.0 by commit</title>
<desc id="nj-blog-tl-parse_citm-d">parse() citm_catalog.json: speedup over 3.12.0 at each of 353 commits, ending at 3.3x. Labeled steps, by theme: 4, 1, 4, 4, 2, 4.</desc>
<text class="nj-charts-panel" x="8" y="18">parse() citm_catalog.json</text>
<line class="nj-charts-grid" x1="44" y1="208" x2="330" y2="208"/>
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="212">1&#215;</text>
<line class="nj-charts-grid" x1="44" y1="160.667" x2="330" y2="160.667"/>
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="164.667">2&#215;</text>
<line class="nj-charts-grid" x1="44" y1="113.333" x2="330" y2="113.333"/>
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="117.333">4&#215;</text>
<line class="nj-charts-grid" x1="44" y1="66" x2="330" y2="66"/>
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="70">8&#215;</text>
<line class="nj-charts-axis" x1="44" y1="208" x2="44" y2="212"/>
<text class="nj-charts-tick" x="44" y="225">3.12.0</text>
<line class="nj-charts-axis" x1="117.938" y1="208" x2="117.938" y2="212"/>
<text class="nj-charts-tick" x="117.938" y="225">Sep 2026</text>
<line class="nj-charts-axis" x1="198.375" y1="208" x2="198.375" y2="212"/>
<text class="nj-charts-tick" x="198.375" y="225">Oct</text>
<polyline class="nj-charts-json" points="44.0,208.0 44.8,208.0 44.8,208.2 45.6,208.2 45.6,207.8 46.4,207.8 46.4,207.5 47.2,207.5 47.2,206.5 48.1,206.5 48.1,208.3 48.9,208.3 48.9,207.3 49.7,207.3 49.7,206.8 50.5,206.8 50.5,207.8 51.3,207.8 51.3,206.8 52.1,206.8 52.1,207.3 52.9,207.3 52.9,207.6 53.8,207.6 53.8,207.8 54.6,207.8 54.6,207.0 55.4,207.0 55.4,207.3 56.2,207.3 56.2,207.2 57.0,207.2 57.0,207.4 57.8,207.4 57.8,207.5 58.6,207.5 58.6,207.4 59.4,207.4 59.4,206.6 60.2,206.6 60.2,207.6 61.1,207.6 61.1,207.6 61.9,207.6 61.9,207.2 62.7,207.2 62.7,207.0 63.5,207.0 63.5,207.6 64.3,207.6 64.3,206.7 65.1,206.7 65.1,207.4 65.9,207.4 65.9,206.8 66.8,206.8 66.8,207.3 67.6,207.3 67.6,207.7 68.4,207.7 68.4,207.9 69.2,207.9 69.2,207.2 70.0,207.2 70.0,206.4 70.8,206.4 70.8,207.6 71.6,207.6 71.6,206.4 72.4,206.4 72.4,208.0 73.2,208.0 73.2,207.4 74.1,207.4 74.1,206.5 74.9,206.5 74.9,207.5 75.7,207.5 75.7,207.2 76.5,207.2 76.5,206.9 77.3,206.9 77.3,207.6 78.1,207.6 78.1,207.6 78.9,207.6 78.9,207.0 79.8,207.0 79.8,206.9 80.6,206.9 80.6,208.0 81.4,208.0 81.4,207.6 82.2,207.6 82.2,206.6 83.0,206.6 83.0,206.8 83.8,206.8 83.8,207.3 84.6,207.3 84.6,206.9 85.4,206.9 85.4,207.6 86.2,207.6 86.2,207.1 87.1,207.1 87.1,207.6 87.9,207.6 87.9,207.9 88.7,207.9 88.7,178.2 89.5,178.2 89.5,177.5 90.3,177.5 90.3,177.7 91.1,177.7 91.1,177.6 91.9,177.6 91.9,177.7 92.8,177.7 92.8,177.1 93.6,177.1 93.6,176.8 94.4,176.8 94.4,177.7 95.2,177.7 95.2,177.6 96.0,177.6 96.0,176.8 96.8,176.8 96.8,177.8 97.6,177.8 97.6,177.0 98.4,177.0 98.4,176.8 99.2,176.8 99.2,178.0 100.1,178.0 100.1,178.1 100.9,178.1 100.9,177.6 101.7,177.6 101.7,177.6 102.5,177.6 102.5,177.4 103.3,177.4 103.3,177.6 104.1,177.6 104.1,177.8 104.9,177.8 104.9,177.5 105.8,177.5 105.8,177.9 106.6,177.9 106.6,177.7 107.4,177.7 107.4,175.9 108.2,175.9 108.2,177.5 109.0,177.5 109.0,177.6 109.8,177.6 109.8,177.6 110.6,177.6 110.6,176.9 111.4,176.9 111.4,177.5 112.2,177.5 112.2,177.4 113.1,177.4 113.1,177.4 113.9,177.4 113.9,176.9 114.7,176.9 114.7,177.9 115.5,177.9 115.5,177.3 116.3,177.3 116.3,176.6 117.1,176.6 117.1,177.4 117.9,177.4 117.9,177.5 118.8,177.5 118.8,177.5 119.6,177.5 119.6,177.4 120.4,177.4 120.4,177.0 121.2,177.0 121.2,177.7 122.0,177.7 122.0,176.2 122.8,176.2 122.8,176.9 123.6,176.9 123.6,177.5 124.4,177.5 124.4,177.8 125.3,177.8 125.3,177.8 126.1,177.8 126.1,177.9 126.9,177.9 126.9,177.3 127.7,177.3 127.7,177.5 128.5,177.5 128.5,177.4 129.3,177.4 129.3,177.1 130.1,177.1 130.1,162.5 130.9,162.5 130.9,162.2 131.8,162.2 131.8,161.8 132.6,161.8 132.6,162.2 133.4,162.2 133.4,161.2 134.2,161.2 134.2,160.7 135.0,160.7 135.0,159.4 135.8,159.4 135.8,160.3 136.6,160.3 136.6,160.4 137.4,160.4 137.4,160.6 138.2,160.6 138.2,159.5 139.1,159.5 139.1,160.4 139.9,160.4 139.9,159.6 140.7,159.6 140.7,160.0 141.5,160.0 141.5,159.9 142.3,159.9 142.3,160.2 143.1,160.2 143.1,159.6 143.9,159.6 143.9,160.8 144.8,160.8 144.8,160.1 145.6,160.1 145.6,159.1 146.4,159.1 146.4,159.7 147.2,159.7 147.2,159.9 148.0,159.9 148.0,160.5 148.8,160.5 148.8,160.2 149.6,160.2 149.6,159.9 150.4,159.9 150.4,160.5 151.2,160.5 151.2,160.5 152.1,160.5 152.1,160.6 152.9,160.6 152.9,159.7 153.7,159.7 153.7,159.5 154.5,159.5 154.5,160.0 155.3,160.0 155.3,160.2 156.1,160.2 156.1,160.0 156.9,160.0 156.9,160.6 157.8,160.6 157.8,159.9 158.6,159.9 158.6,160.2 159.4,160.2 159.4,160.1 160.2,160.1 160.2,160.8 161.0,160.8 161.0,159.2 161.8,159.2 161.8,159.6 162.6,159.6 162.6,159.2 163.4,159.2 163.4,160.0 164.2,160.0 164.2,159.4 165.1,159.4 165.1,159.6 165.9,159.6 165.9,159.5 166.7,159.5 166.7,160.1 167.5,160.1 167.5,159.0 168.3,159.0 168.3,159.4 169.1,159.4 169.1,160.2 169.9,160.2 169.9,161.4 170.8,161.4 170.8,161.7 171.6,161.7 171.6,161.6 172.4,161.6 172.4,160.3 173.2,160.3 173.2,161.1 174.0,161.1 174.0,161.2 174.8,161.2 174.8,161.7 175.6,161.7 175.6,161.2 176.4,161.2 176.4,160.4 177.2,160.4 177.2,161.6 178.1,161.6 178.1,160.6 178.9,160.6 178.9,161.4 179.7,161.4 179.7,161.3 180.5,161.3 180.5,161.3 181.3,161.3 181.3,161.7 182.1,161.7 182.1,161.2 182.9,161.2 182.9,160.1 183.8,160.1 183.8,160.9 184.6,160.9 184.6,161.5 185.4,161.5 185.4,160.6 186.2,160.6 186.2,161.9 187.0,161.9 187.0,161.4 187.8,161.4 187.8,160.1 188.6,160.1 188.6,160.6 189.4,160.6 189.4,162.0 190.2,162.0 190.2,161.5 191.1,161.5 191.1,162.0 191.9,162.0 191.9,161.3 192.7,161.3 192.7,162.3 193.5,162.3 193.5,162.1 194.3,162.1 194.3,160.8 195.1,160.8 195.1,161.5 195.9,161.5 195.9,161.4 196.8,161.4 196.8,162.2 197.6,162.2 197.6,161.4 198.4,161.4 198.4,161.4 199.2,161.4 199.2,161.8 200.0,161.8 200.0,160.7 200.8,160.7 200.8,160.5 201.6,160.5 201.6,160.5 202.4,160.5 202.4,159.3 203.2,159.3 203.2,159.4 204.1,159.4 204.1,160.4 204.9,160.4 204.9,160.1 205.7,160.1 205.7,160.4 206.5,160.4 206.5,160.4 207.3,160.4 207.3,160.8 208.1,160.8 208.1,159.8 208.9,159.8 208.9,159.4 209.8,159.4 209.8,160.5 210.6,160.5 210.6,160.1 211.4,160.1 211.4,160.7 212.2,160.7 212.2,160.6 213.0,160.6 213.0,159.5 213.8,159.5 213.8,161.1 214.6,161.1 214.6,161.3 215.4,161.3 215.4,161.0 216.2,161.0 216.2,160.8 217.1,160.8 217.1,159.6 217.9,159.6 217.9,161.0 218.7,161.0 218.7,160.6 219.5,160.6 219.5,160.6 220.3,160.6 220.3,161.4 221.1,161.4 221.1,159.8 221.9,159.8 221.9,160.2 222.8,160.2 222.8,155.4 223.6,155.4 223.6,156.1 224.4,156.1 224.4,155.2 225.2,155.2 225.2,156.3 226.0,156.3 226.0,156.1 226.8,156.1 226.8,155.8 227.6,155.8 227.6,156.5 228.4,156.5 228.4,155.8 229.2,155.8 229.2,155.9 230.1,155.9 230.1,155.7 230.9,155.7 230.9,155.0 231.7,155.0 231.7,156.1 232.5,156.1 232.5,156.5 233.3,156.5 233.3,156.3 234.1,156.3 234.1,155.6 234.9,155.6 234.9,154.9 235.8,154.9 235.8,155.8 236.6,155.8 236.6,155.5 237.4,155.5 237.4,155.0 238.2,155.0 238.2,155.2 239.0,155.2 239.0,155.4 239.8,155.4 239.8,155.4 240.6,155.4 240.6,155.6 241.4,155.6 241.4,156.0 242.3,156.0 242.3,155.7 243.1,155.7 243.1,147.1 243.9,147.1 243.9,138.2 244.7,138.2 244.7,138.0 245.5,138.0 245.5,137.7 246.3,137.7 246.3,137.6 247.1,137.6 247.1,137.8 247.9,137.8 247.9,137.7 248.8,137.7 248.8,137.2 249.6,137.2 249.6,137.3 250.4,137.3 250.4,137.5 251.2,137.5 251.2,137.1 252.0,137.1 252.0,135.2 252.8,135.2 252.8,135.1 253.6,135.1 253.6,132.3 254.4,132.3 254.4,133.6 255.2,133.6 255.2,133.4 256.1,133.4 256.1,133.9 256.9,133.9 256.9,133.2 257.7,133.2 257.7,132.9 258.5,132.9 258.5,131.7 259.3,131.7 259.3,132.8 260.1,132.8 260.1,133.0 260.9,133.0 260.9,132.8 261.8,132.8 261.8,132.8 262.6,132.8 262.6,132.6 263.4,132.6 263.4,133.3 264.2,133.3 264.2,131.7 265.0,131.7 265.0,132.3 265.8,132.3 265.8,132.7 266.6,132.7 266.6,133.3 267.4,133.3 267.4,131.5 268.2,131.5 268.2,132.3 269.1,132.3 269.1,133.4 269.9,133.4 269.9,132.1 270.7,132.1 270.7,132.8 271.5,132.8 271.5,131.2 272.3,131.2 272.3,130.8 273.1,130.8 273.1,130.8 273.9,130.8 273.9,129.9 274.8,129.9 274.8,130.1 275.6,130.1 275.6,131.1 276.4,131.1 276.4,129.7 277.2,129.7 277.2,129.2 278.0,129.2 278.0,129.7 278.8,129.7 278.8,129.8 279.6,129.8 279.6,128.6 280.4,128.6 280.4,130.0 281.2,130.0 281.2,130.0 282.1,130.0 282.1,129.4 282.9,129.4 282.9,129.3 283.7,129.3 283.7,130.1 284.5,130.1 284.5,129.6 285.3,129.6 285.3,125.7 286.1,125.7 286.1,125.7 286.9,125.7 286.9,125.7 287.8,125.7 287.8,126.1 288.6,126.1 288.6,126.1 289.4,126.1 289.4,125.2 290.2,125.2 290.2,125.8 291.0,125.8 291.0,126.1 291.8,126.1 291.8,125.7 292.6,125.7 292.6,125.7 293.4,125.7 293.4,125.7 294.2,125.7 294.2,124.7 295.1,124.7 295.1,126.1 295.9,126.1 295.9,126.2 296.7,126.2 296.7,125.8 297.5,125.8 297.5,126.2 298.3,126.2 298.3,125.9 299.1,125.9 299.1,125.8 299.9,125.8 299.9,125.8 300.8,125.8 300.8,125.7 301.6,125.7 301.6,126.6 302.4,126.6 302.4,125.5 303.2,125.5 303.2,126.4 304.0,126.4 304.0,126.1 304.8,126.1 304.8,126.7 305.6,126.7 305.6,125.8 306.4,125.8 306.4,125.9 307.2,125.9 307.2,125.5 308.1,125.5 308.1,126.4 308.9,126.4 308.9,126.9 309.7,126.9 309.7,126.0 310.5,126.0 310.5,125.8 311.3,125.8 311.3,126.2 312.1,126.2 312.1,126.3 312.9,126.3 312.9,125.9 313.8,125.9 313.8,125.4 314.6,125.4 314.6,127.1 315.4,127.1 315.4,126.0 316.2,126.0 316.2,126.4 317.0,126.4 317.0,125.6 317.8,125.6 317.8,125.7 318.6,125.7 318.6,125.5 319.4,125.5 319.4,125.5 320.2,125.5 320.2,125.4 321.1,125.4 321.1,126.1 321.9,126.1 321.9,125.4 322.7,125.4 322.7,125.9 323.5,125.9 323.5,125.5 324.3,125.5 324.3,125.9 325.1,125.9 325.1,125.0 325.9,125.0 325.9,124.6 326.8,124.6 326.8,125.0 327.6,125.0 327.6,124.9 328.4,124.9 328.4,125.0 329.2,125.0 329.2,125.1 330.0,125.1 330.0,125.9"/>
<circle class="nj-charts-json-dot" cx="88.7" cy="178.2" r="3.5"><title>#5234: 1.55&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="88.7" y1="54.0" x2="88.7" y2="173.2"/>
<circle class="nj-theme-dot" cx="88.7" cy="46.0" r="7.5"/>
<text class="nj-theme-num" x="88.7" y="50.0" text-anchor="middle">4</text>
<circle class="nj-charts-json-dot" cx="130.1" cy="162.5" r="3.5"><title>#5283: 1.95&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="130.1" y1="54.0" x2="130.1" y2="157.5"/>
<circle class="nj-theme-dot" cx="130.1" cy="46.0" r="7.5"/>
<text class="nj-theme-num" x="130.1" y="50.0" text-anchor="middle">1</text>
<circle class="nj-charts-json-dot" cx="222.8" cy="155.4" r="3.5"><title>#5592: 2.2&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="222.8" y1="54.0" x2="222.8" y2="150.4"/>
<circle class="nj-theme-dot" cx="222.8" cy="46.0" r="7.5"/>
<text class="nj-theme-num" x="222.8" y="50.0" text-anchor="middle">4</text>
<circle class="nj-charts-json-dot" cx="243.1" cy="147.1" r="3.5"><title>#5809: 2.4&#215;</title></circle>
<circle class="nj-charts-json-dot" cx="243.9" cy="138.2" r="3.5"><title>#5810: 2.8&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="243.9" y1="36.0" x2="243.9" y2="133.2"/>
<circle class="nj-theme-dot" cx="234.9" cy="28.0" r="7.5"/>
<text class="nj-theme-num" x="234.9" y="32.0" text-anchor="middle">4</text>
<circle class="nj-theme-dot" cx="252.9" cy="28.0" r="7.5"/>
<text class="nj-theme-num" x="252.9" y="32.0" text-anchor="middle">2</text>
<circle class="nj-charts-json-dot" cx="285.3" cy="125.7" r="3.5"><title>#5882: 3.3&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="285.3" y1="54.0" x2="285.3" y2="120.7"/>
<circle class="nj-theme-dot" cx="285.3" cy="46.0" r="7.5"/>
<text class="nj-theme-num" x="285.3" y="50.0" text-anchor="middle">4</text>
<line class="nj-charts-axis" x1="44" y1="208" x2="330" y2="208"/>
<text class="nj-charts-note" x="8" y="262">speedup over 3.12.0 (log scale), more is better</text>
</svg>