Skip to content

Instantly share code, notes, and snippets.

@shanemhansen
Created March 29, 2019 22:18
Show Gist options
  • Save shanemhansen/2ca08f148e78d94a03225d4168bde044 to your computer and use it in GitHub Desktop.
Save shanemhansen/2ca08f148e78d94a03225d4168bde044 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Title: brotlibench.test Pages: 1 -->
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<script type="text/ecmascript"><![CDATA[
/**
* SVGPan library 1.2.1
* ======================
*
* Given an unique existing element with id "viewport" (or when missing, the first g
* element), including the the library into any SVG adds the following capabilities:
*
* - Mouse panning
* - Mouse zooming (using the wheel)
* - Object dragging
*
* You can configure the behaviour of the pan/zoom/drag with the variables
* listed in the CONFIGURATION section of this file.
*
* Known issues:
*
* - Zooming (while panning) on Safari has still some issues
*
* Releases:
*
* 1.2.1, Mon Jul 4 00:33:18 CEST 2011, Andrea Leofreddi
* - Fixed a regression with mouse wheel (now working on Firefox 5)
* - Working with viewBox attribute (#4)
* - Added "use strict;" and fixed resulting warnings (#5)
* - Added configuration variables, dragging is disabled by default (#3)
*
* 1.2, Sat Mar 20 08:42:50 GMT 2010, Zeng Xiaohui
* Fixed a bug with browser mouse handler interaction
*
* 1.1, Wed Feb 3 17:39:33 GMT 2010, Zeng Xiaohui
* Updated the zoom code to support the mouse wheel on Safari/Chrome
*
* 1.0, Andrea Leofreddi
* First release
*
* This code is licensed under the following BSD license:
*
* Copyright 2009-2010 Andrea Leofreddi <[email protected]>. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
* permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this list of
* conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, this list
* of conditions and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY Andrea Leofreddi ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Andrea Leofreddi OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* The views and conclusions contained in the software and documentation are those of the
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of Andrea Leofreddi.
*/
"use strict";
/// CONFIGURATION
/// ====>
var enablePan = 1; // 1 or 0: enable or disable panning (default enabled)
var enableZoom = 1; // 1 or 0: enable or disable zooming (default enabled)
var enableDrag = 0; // 1 or 0: enable or disable dragging (default disabled)
/// <====
/// END OF CONFIGURATION
var root = document.documentElement;
var state = 'none', svgRoot, stateTarget, stateOrigin, stateTf;
setupHandlers(root);
/**
* Register handlers
*/
function setupHandlers(root){
setAttributes(root, {
"onmouseup" : "handleMouseUp(evt)",
"onmousedown" : "handleMouseDown(evt)",
"onmousemove" : "handleMouseMove(evt)",
//"onmouseout" : "handleMouseUp(evt)", // Decomment this to stop the pan functionality when dragging out of the SVG element
});
if(navigator.userAgent.toLowerCase().indexOf('webkit') >= 0)
window.addEventListener('mousewheel', handleMouseWheel, false); // Chrome/Safari
else
window.addEventListener('DOMMouseScroll', handleMouseWheel, false); // Others
}
/**
* Retrieves the root element for SVG manipulation. The element is then cached into the svgRoot global variable.
*/
function getRoot(root) {
if(typeof(svgRoot) == "undefined") {
var g = null;
g = root.getElementById("viewport");
if(g == null)
g = root.getElementsByTagName('g')[0];
if(g == null)
alert('Unable to obtain SVG root element');
setCTM(g, g.getCTM());
g.removeAttribute("viewBox");
svgRoot = g;
}
return svgRoot;
}
/**
* Instance an SVGPoint object with given event coordinates.
*/
function getEventPoint(evt) {
var p = root.createSVGPoint();
p.x = evt.clientX;
p.y = evt.clientY;
return p;
}
/**
* Sets the current transform matrix of an element.
*/
function setCTM(element, matrix) {
var s = "matrix(" + matrix.a + "," + matrix.b + "," + matrix.c + "," + matrix.d + "," + matrix.e + "," + matrix.f + ")";
element.setAttribute("transform", s);
}
/**
* Dumps a matrix to a string (useful for debug).
*/
function dumpMatrix(matrix) {
var s = "[ " + matrix.a + ", " + matrix.c + ", " + matrix.e + "\n " + matrix.b + ", " + matrix.d + ", " + matrix.f + "\n 0, 0, 1 ]";
return s;
}
/**
* Sets attributes of an element.
*/
function setAttributes(element, attributes){
for (var i in attributes)
element.setAttributeNS(null, i, attributes[i]);
}
/**
* Handle mouse wheel event.
*/
function handleMouseWheel(evt) {
if(!enableZoom)
return;
if(evt.preventDefault)
evt.preventDefault();
evt.returnValue = false;
var svgDoc = evt.target.ownerDocument;
var delta;
if(evt.wheelDelta)
delta = evt.wheelDelta / 3600; // Chrome/Safari
else
delta = evt.detail / -90; // Mozilla
var z = 1 + delta; // Zoom factor: 0.9/1.1
var g = getRoot(svgDoc);
var p = getEventPoint(evt);
p = p.matrixTransform(g.getCTM().inverse());
// Compute new scale matrix in current mouse position
var k = root.createSVGMatrix().translate(p.x, p.y).scale(z).translate(-p.x, -p.y);
setCTM(g, g.getCTM().multiply(k));
if(typeof(stateTf) == "undefined")
stateTf = g.getCTM().inverse();
stateTf = stateTf.multiply(k.inverse());
}
/**
* Handle mouse move event.
*/
function handleMouseMove(evt) {
if(evt.preventDefault)
evt.preventDefault();
evt.returnValue = false;
var svgDoc = evt.target.ownerDocument;
var g = getRoot(svgDoc);
if(state == 'pan' && enablePan) {
// Pan mode
var p = getEventPoint(evt).matrixTransform(stateTf);
setCTM(g, stateTf.inverse().translate(p.x - stateOrigin.x, p.y - stateOrigin.y));
} else if(state == 'drag' && enableDrag) {
// Drag mode
var p = getEventPoint(evt).matrixTransform(g.getCTM().inverse());
setCTM(stateTarget, root.createSVGMatrix().translate(p.x - stateOrigin.x, p.y - stateOrigin.y).multiply(g.getCTM().inverse()).multiply(stateTarget.getCTM()));
stateOrigin = p;
}
}
/**
* Handle click event.
*/
function handleMouseDown(evt) {
if(evt.preventDefault)
evt.preventDefault();
evt.returnValue = false;
var svgDoc = evt.target.ownerDocument;
var g = getRoot(svgDoc);
if(
evt.target.tagName == "svg"
|| !enableDrag // Pan anyway when drag is disabled and the user clicked on an element
) {
// Pan mode
state = 'pan';
stateTf = g.getCTM().inverse();
stateOrigin = getEventPoint(evt).matrixTransform(stateTf);
} else {
// Drag mode
state = 'drag';
stateTarget = evt.target;
stateTf = g.getCTM().inverse();
stateOrigin = getEventPoint(evt).matrixTransform(stateTf);
}
}
/**
* Handle mouse button release event.
*/
function handleMouseUp(evt) {
if(evt.preventDefault)
evt.preventDefault();
evt.returnValue = false;
var svgDoc = evt.target.ownerDocument;
if(state == 'pan' || state == 'drag') {
// Quit pan mode
state = '';
}
}
]]></script><g id="viewport" transform="scale(0.5,0.5) translate(0,0)"><g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 3093)">
<title>brotlibench.test</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-3093 1855.5,-3093 1855.5,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_L</title>
<polygon fill="none" stroke="#000000" points="677.5,-2931 677.5,-3081 1107.5,-3081 1107.5,-2931 677.5,-2931"/>
</g>
<!-- File: brotlibench.test -->
<g id="node1" class="node">
<title>File: brotlibench.test</title>
<g id="a_node1"><a xlink:title="brotlibench.test">
<polygon fill="#f8f8f8" stroke="#000000" points="1099,-3073 686,-3073 686,-2939 1099,-2939 1099,-3073"/>
<text text-anchor="start" x="694" y="-3056.2" font-family="Times,serif" font-size="16.00" fill="#000000">File: brotlibench.test</text>
<text text-anchor="start" x="694" y="-3038.2" font-family="Times,serif" font-size="16.00" fill="#000000">Build ID: 4fdbd4b89d68a1e43d3b37fd3c648936cef46bb8</text>
<text text-anchor="start" x="694" y="-3020.2" font-family="Times,serif" font-size="16.00" fill="#000000">Type: cpu</text>
<text text-anchor="start" x="694" y="-3002.2" font-family="Times,serif" font-size="16.00" fill="#000000">Time: Mar 29, 2019 at 3:17pm (PDT)</text>
<text text-anchor="start" x="694" y="-2984.2" font-family="Times,serif" font-size="16.00" fill="#000000">Duration: 21.62s, Total samples = 21.75s (100.60%)</text>
<text text-anchor="start" x="694" y="-2966.2" font-family="Times,serif" font-size="16.00" fill="#000000">Showing nodes accounting for 20.70s, 95.17% of 21.75s total</text>
<text text-anchor="start" x="694" y="-2948.2" font-family="Times,serif" font-size="16.00" fill="#000000">Dropped 124 nodes (cum &lt;= 0.11s)</text>
</a>
</g>
</g>
<!-- N1 -->
<g id="node1" class="node">
<title>N1</title>
<g id="a_node1"><a xlink:title="github.com/andybalholm/brotli.createBackwardReferences (16.74s)">
<polygon fill="#edd7d5" stroke="#b20d00" points="1280,-1991 1039,-1991 1039,-1868 1280,-1868 1280,-1991"/>
<text text-anchor="middle" x="1159.5" y="-1970.2" font-family="Times,serif" font-size="21.00" fill="#000000">github</text>
<text text-anchor="middle" x="1159.5" y="-1947.2" font-family="Times,serif" font-size="21.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1159.5" y="-1924.2" font-family="Times,serif" font-size="21.00" fill="#000000">createBackwardReferences</text>
<text text-anchor="middle" x="1159.5" y="-1901.2" font-family="Times,serif" font-size="21.00" fill="#000000">1.78s (8.18%)</text>
<text text-anchor="middle" x="1159.5" y="-1878.2" font-family="Times,serif" font-size="21.00" fill="#000000">of 16.74s (76.97%)</text>
</a>
</g>
</g>
<!-- N4 -->
<g id="node4" class="node">
<title>N4</title>
<g id="a_node4"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).FindLongestMatch (4.82s)">
<polygon fill="#edded5" stroke="#b24000" points="1306,-1817 1013,-1817 1013,-1659 1306,-1659 1306,-1817"/>
<text text-anchor="middle" x="1159.5" y="-1794.6" font-family="Times,serif" font-size="23.00" fill="#000000">github</text>
<text text-anchor="middle" x="1159.5" y="-1769.6" font-family="Times,serif" font-size="23.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1159.5" y="-1744.6" font-family="Times,serif" font-size="23.00" fill="#000000">(*hashLongestMatchQuickly)</text>
<text text-anchor="middle" x="1159.5" y="-1719.6" font-family="Times,serif" font-size="23.00" fill="#000000">FindLongestMatch</text>
<text text-anchor="middle" x="1159.5" y="-1694.6" font-family="Times,serif" font-size="23.00" fill="#000000">2.58s (11.86%)</text>
<text text-anchor="middle" x="1159.5" y="-1669.6" font-family="Times,serif" font-size="23.00" fill="#000000">of 4.82s (22.16%)</text>
</a>
</g>
</g>
<!-- N1&#45;&gt;N4 -->
<g id="edge12" class="edge">
<title>N1&#45;&gt;N4</title>
<g id="a_edge12"><a xlink:title="github.com/andybalholm/brotli.createBackwardReferences &#45;&gt; github.com/andybalholm/brotli.(*hashLongestMatchQuickly).FindLongestMatch (4.82s)">
<path fill="none" stroke="#b24000" stroke-width="2" d="M1159.5,-1867.8541C1159.5,-1854.8325 1159.5,-1840.8429 1159.5,-1827.0402"/>
<polygon fill="#b24000" stroke="#b24000" stroke-width="2" points="1163.0001,-1827.0392 1159.5,-1817.0392 1156.0001,-1827.0393 1163.0001,-1827.0392"/>
</a>
</g>
<g id="a_edge12&#45;label"><a xlink:title="github.com/andybalholm/brotli.createBackwardReferences &#45;&gt; github.com/andybalholm/brotli.(*hashLongestMatchQuickly).FindLongestMatch (4.82s)">
<text text-anchor="middle" x="1176.5" y="-1838.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 4.82s</text>
</a>
</g>
</g>
<!-- N16 -->
<g id="node16" class="node">
<title>N16</title>
<g id="a_node16"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).StoreRange (5.30s)">
<polygon fill="#edddd5" stroke="#b23d00" points="1523,-1793 1324,-1793 1324,-1683 1523,-1683 1523,-1793"/>
<text text-anchor="middle" x="1423.5" y="-1777" font-family="Times,serif" font-size="15.00" fill="#000000">github</text>
<text text-anchor="middle" x="1423.5" y="-1760" font-family="Times,serif" font-size="15.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1423.5" y="-1743" font-family="Times,serif" font-size="15.00" fill="#000000">(*hashLongestMatchQuickly)</text>
<text text-anchor="middle" x="1423.5" y="-1726" font-family="Times,serif" font-size="15.00" fill="#000000">StoreRange</text>
<text text-anchor="middle" x="1423.5" y="-1709" font-family="Times,serif" font-size="15.00" fill="#000000">0.58s (2.67%)</text>
<text text-anchor="middle" x="1423.5" y="-1692" font-family="Times,serif" font-size="15.00" fill="#000000">of 5.30s (24.37%)</text>
</a>
</g>
</g>
<!-- N1&#45;&gt;N16 -->
<g id="edge11" class="edge">
<title>N1&#45;&gt;N16</title>
<g id="a_edge11"><a xlink:title="github.com/andybalholm/brotli.createBackwardReferences &#45;&gt; github.com/andybalholm/brotli.(*hashLongestMatchQuickly).StoreRange (5.30s)">
<path fill="none" stroke="#b23d00" stroke-width="2" d="M1244.4844,-1867.8541C1274.796,-1845.8667 1308.9124,-1821.1194 1339.1688,-1799.172"/>
<polygon fill="#b23d00" stroke="#b23d00" stroke-width="2" points="1341.5544,-1801.7655 1347.594,-1793.0606 1337.4442,-1796.0992 1341.5544,-1801.7655"/>
</a>
</g>
<g id="a_edge11&#45;label"><a xlink:title="github.com/andybalholm/brotli.createBackwardReferences &#45;&gt; github.com/andybalholm/brotli.(*hashLongestMatchQuickly).StoreRange (5.30s)">
<text text-anchor="middle" x="1301.5" y="-1838.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 5.30s</text>
</a>
</g>
</g>
<!-- N17 -->
<g id="node17" class="node">
<title>N17</title>
<g id="a_node17"><a xlink:title="github.com/andybalholm/brotli.initCommand (1.60s)">
<polygon fill="#ede9e4" stroke="#b29470" points="848,-1779.5 699,-1779.5 699,-1696.5 848,-1696.5 848,-1779.5"/>
<text text-anchor="middle" x="773.5" y="-1764.3" font-family="Times,serif" font-size="14.00" fill="#000000">github</text>
<text text-anchor="middle" x="773.5" y="-1749.3" font-family="Times,serif" font-size="14.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="773.5" y="-1734.3" font-family="Times,serif" font-size="14.00" fill="#000000">initCommand</text>
<text text-anchor="middle" x="773.5" y="-1719.3" font-family="Times,serif" font-size="14.00" fill="#000000">0.35s (1.61%)</text>
<text text-anchor="middle" x="773.5" y="-1704.3" font-family="Times,serif" font-size="14.00" fill="#000000">of 1.60s (7.36%)</text>
</a>
</g>
</g>
<!-- N1&#45;&gt;N17 -->
<g id="edge20" class="edge">
<title>N1&#45;&gt;N17</title>
<g id="a_edge20"><a xlink:title="github.com/andybalholm/brotli.createBackwardReferences &#45;&gt; github.com/andybalholm/brotli.initCommand (1.60s)">
<path fill="none" stroke="#b29470" d="M1038.8781,-1897.1227C981.1389,-1878.5943 912.5469,-1851.9913 856.5,-1817 843.0727,-1808.617 829.9738,-1797.8131 818.2963,-1786.903"/>
<polygon fill="#b29470" stroke="#b29470" points="820.476,-1784.1438 810.8386,-1779.7426 815.6279,-1789.1932 820.476,-1784.1438"/>
</a>
</g>
<g id="a_edge20&#45;label"><a xlink:title="github.com/andybalholm/brotli.createBackwardReferences &#45;&gt; github.com/andybalholm/brotli.initCommand (1.60s)">
<text text-anchor="middle" x="928.5" y="-1838.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 1.60s</text>
</a>
</g>
</g>
<!-- N19 -->
<g id="node19" class="node">
<title>N19</title>
<g id="a_node19"><a xlink:title="runtime.newobject (3.20s)">
<polygon fill="#ede3db" stroke="#b2682f" points="719.5,-1200 607.5,-1200 607.5,-1136 719.5,-1136 719.5,-1200"/>
<text text-anchor="middle" x="663.5" y="-1185.6" font-family="Times,serif" font-size="13.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="663.5" y="-1171.6" font-family="Times,serif" font-size="13.00" fill="#000000">newobject</text>
<text text-anchor="middle" x="663.5" y="-1157.6" font-family="Times,serif" font-size="13.00" fill="#000000">0.25s (1.15%)</text>
<text text-anchor="middle" x="663.5" y="-1143.6" font-family="Times,serif" font-size="13.00" fill="#000000">of 3.20s (14.71%)</text>
</a>
</g>
</g>
<!-- N1&#45;&gt;N19 -->
<g id="edge16" class="edge">
<title>N1&#45;&gt;N19</title>
<g id="a_edge16"><a xlink:title="github.com/andybalholm/brotli.createBackwardReferences &#45;&gt; runtime.newobject (3.10s)">
<path fill="none" stroke="#b26b33" d="M1038.9644,-1903.7056C904.085,-1874.3866 702.5712,-1829.0288 689.5,-1817 662.3007,-1791.9696 663.5,-1774.9638 663.5,-1738 663.5,-1738 663.5,-1738 663.5,-1329 663.5,-1288.6452 663.5,-1242.6007 663.5,-1210.1192"/>
<polygon fill="#b26b33" stroke="#b26b33" points="667.0001,-1210.0742 663.5,-1200.0742 660.0001,-1210.0743 667.0001,-1210.0742"/>
</a>
</g>
<g id="a_edge16&#45;label"><a xlink:title="github.com/andybalholm/brotli.createBackwardReferences &#45;&gt; runtime.newobject (3.10s)">
<text text-anchor="middle" x="680.5" y="-1522.3" font-family="Times,serif" font-size="14.00" fill="#000000"> 3.10s</text>
</a>
</g>
</g>
<!-- N34 -->
<g id="node34" class="node">
<title>N34</title>
<g id="a_node34"><a xlink:title="github.com/andybalholm/brotli.computeDistanceCode (0.12s)">
<polygon fill="#ededec" stroke="#b2b1ad" points="995,-1768 866,-1768 866,-1708 995,-1708 995,-1768"/>
<text text-anchor="middle" x="930.5" y="-1754.4" font-family="Times,serif" font-size="12.00" fill="#000000">github</text>
<text text-anchor="middle" x="930.5" y="-1741.4" font-family="Times,serif" font-size="12.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="930.5" y="-1728.4" font-family="Times,serif" font-size="12.00" fill="#000000">computeDistanceCode</text>
<text text-anchor="middle" x="930.5" y="-1715.4" font-family="Times,serif" font-size="12.00" fill="#000000">0.12s (0.55%)</text>
</a>
</g>
</g>
<!-- N1&#45;&gt;N34 -->
<g id="edge63" class="edge">
<title>N1&#45;&gt;N34</title>
<g id="a_edge63"><a xlink:title="github.com/andybalholm/brotli.createBackwardReferences &#45;&gt; github.com/andybalholm/brotli.computeDistanceCode (0.12s)">
<path fill="none" stroke="#b2b1ad" d="M1067.6291,-1867.908C1045.9474,-1852.1182 1023.3729,-1834.6 1003.5,-1817 989.3595,-1804.4768 974.9969,-1789.5168 962.7952,-1776.0006"/>
<polygon fill="#b2b1ad" stroke="#b2b1ad" points="965.1447,-1773.3763 955.8788,-1768.2387 959.9184,-1778.0332 965.1447,-1773.3763"/>
</a>
</g>
<g id="a_edge63&#45;label"><a xlink:title="github.com/andybalholm/brotli.createBackwardReferences &#45;&gt; github.com/andybalholm/brotli.computeDistanceCode (0.12s)">
<text text-anchor="middle" x="1057.5" y="-1838.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.12s</text>
</a>
</g>
</g>
<!-- N2 -->
<g id="node2" class="node">
<title>N2</title>
<g id="a_node2"><a xlink:title="testing.(*B).launch (21.20s)">
<polygon fill="#edd5d5" stroke="#b20100" points="1201.5,-3028 1117.5,-3028 1117.5,-2984 1201.5,-2984 1201.5,-3028"/>
<text text-anchor="middle" x="1159.5" y="-3017.6" font-family="Times,serif" font-size="8.00" fill="#000000">testing</text>
<text text-anchor="middle" x="1159.5" y="-3008.6" font-family="Times,serif" font-size="8.00" fill="#000000">(*B)</text>
<text text-anchor="middle" x="1159.5" y="-2999.6" font-family="Times,serif" font-size="8.00" fill="#000000">launch</text>
<text text-anchor="middle" x="1159.5" y="-2990.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 21.20s (97.47%)</text>
</a>
</g>
</g>
<!-- N56 -->
<g id="node56" class="node">
<title>N56</title>
<g id="a_node56"><a xlink:title="testing.(*B).runN (21.24s)">
<polygon fill="#edd5d5" stroke="#b20100" points="1201.5,-2888 1117.5,-2888 1117.5,-2844 1201.5,-2844 1201.5,-2888"/>
<text text-anchor="middle" x="1159.5" y="-2877.6" font-family="Times,serif" font-size="8.00" fill="#000000">testing</text>
<text text-anchor="middle" x="1159.5" y="-2868.6" font-family="Times,serif" font-size="8.00" fill="#000000">(*B)</text>
<text text-anchor="middle" x="1159.5" y="-2859.6" font-family="Times,serif" font-size="8.00" fill="#000000">runN</text>
<text text-anchor="middle" x="1159.5" y="-2850.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 21.24s (97.66%)</text>
</a>
</g>
</g>
<!-- N2&#45;&gt;N56 -->
<g id="edge3" class="edge">
<title>N2&#45;&gt;N56</title>
<g id="a_edge3"><a xlink:title="testing.(*B).launch &#45;&gt; testing.(*B).runN (21.20s)">
<path fill="none" stroke="#b20100" stroke-width="5" d="M1159.5,-2983.8166C1159.5,-2960.7763 1159.5,-2924.4972 1159.5,-2898.2814"/>
<polygon fill="#b20100" stroke="#b20100" stroke-width="5" points="1163.8751,-2898.0796 1159.5,-2888.0796 1155.1251,-2898.0797 1163.8751,-2898.0796"/>
</a>
</g>
<g id="a_edge3&#45;label"><a xlink:title="testing.(*B).launch &#45;&gt; testing.(*B).runN (21.20s)">
<text text-anchor="middle" x="1179.5" y="-2909.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 21.20s</text>
</a>
</g>
</g>
<!-- N3 -->
<g id="node3" class="node">
<title>N3</title>
<g id="a_node3"><a xlink:title="github.com/andybalholm/brotli.encodeData (20.61s)">
<polygon fill="#edd5d5" stroke="#b20200" points="1210,-2100 1109,-2100 1109,-2042 1210,-2042 1210,-2100"/>
<text text-anchor="middle" x="1159.5" y="-2088.8" font-family="Times,serif" font-size="9.00" fill="#000000">github</text>
<text text-anchor="middle" x="1159.5" y="-2078.8" font-family="Times,serif" font-size="9.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1159.5" y="-2068.8" font-family="Times,serif" font-size="9.00" fill="#000000">encodeData</text>
<text text-anchor="middle" x="1159.5" y="-2058.8" font-family="Times,serif" font-size="9.00" fill="#000000">0.01s (0.046%)</text>
<text text-anchor="middle" x="1159.5" y="-2048.8" font-family="Times,serif" font-size="9.00" fill="#000000">of 20.61s (94.76%)</text>
</a>
</g>
</g>
<!-- N3&#45;&gt;N1 -->
<g id="edge10" class="edge">
<title>N3&#45;&gt;N1</title>
<g id="a_edge10"><a xlink:title="github.com/andybalholm/brotli.encodeData &#45;&gt; github.com/andybalholm/brotli.createBackwardReferences (16.74s)">
<path fill="none" stroke="#b20d00" stroke-width="4" d="M1159.5,-2041.6811C1159.5,-2029.8909 1159.5,-2015.7306 1159.5,-2001.5027"/>
<polygon fill="#b20d00" stroke="#b20d00" stroke-width="4" points="1163.0001,-2001.1636 1159.5,-1991.1636 1156.0001,-2001.1636 1163.0001,-2001.1636"/>
</a>
</g>
<g id="a_edge10&#45;label"><a xlink:title="github.com/andybalholm/brotli.encodeData &#45;&gt; github.com/andybalholm/brotli.createBackwardReferences (16.74s)">
<text text-anchor="middle" x="1179.5" y="-2012.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 16.74s</text>
</a>
</g>
</g>
<!-- N28 -->
<g id="node28" class="node">
<title>N28</title>
<g id="a_node28"><a xlink:title="runtime.makeslice (0.68s)">
<polygon fill="#edebe9" stroke="#b2a896" points="77,-1544 0,-1544 0,-1508 77,-1508 77,-1544"/>
<text text-anchor="middle" x="38.5" y="-1533.1" font-family="Times,serif" font-size="8.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="38.5" y="-1524.1" font-family="Times,serif" font-size="8.00" fill="#000000">makeslice</text>
<text text-anchor="middle" x="38.5" y="-1515.1" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.68s (3.13%)</text>
</a>
</g>
</g>
<!-- N3&#45;&gt;N28 -->
<g id="edge61" class="edge">
<title>N3&#45;&gt;N28</title>
<g id="a_edge61"><a xlink:title="github.com/andybalholm/brotli.encodeData ... runtime.makeslice (0.13s)">
<path fill="none" stroke="#b2b1ad" stroke-dasharray="1,5" d="M1108.6915,-2066.1432C1031.1512,-2057.5706 879.5343,-2036.2083 758.5,-1991 755.9841,-1990.0603 88.41,-1609.8881 86.5,-1608 70.8091,-1592.4895 58.4116,-1570.8031 50.1492,-1553.6279"/>
<polygon fill="#b2b1ad" stroke="#b2b1ad" points="53.1313,-1551.7361 45.7687,-1544.1176 46.7734,-1554.6647 53.1313,-1551.7361"/>
</a>
</g>
<g id="a_edge61&#45;label"><a xlink:title="github.com/andybalholm/brotli.encodeData ... runtime.makeslice (0.13s)">
<text text-anchor="middle" x="523.5" y="-1838.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.13s</text>
</a>
</g>
</g>
<!-- N49 -->
<g id="node49" class="node">
<title>N49</title>
<g id="a_node49"><a xlink:title="github.com/andybalholm/brotli.writeMetaBlockInternal (3.70s)">
<polygon fill="#ede1d8" stroke="#b2591a" points="863,-1951.5 768,-1951.5 768,-1907.5 863,-1907.5 863,-1951.5"/>
<text text-anchor="middle" x="815.5" y="-1941.1" font-family="Times,serif" font-size="8.00" fill="#000000">github</text>
<text text-anchor="middle" x="815.5" y="-1932.1" font-family="Times,serif" font-size="8.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="815.5" y="-1923.1" font-family="Times,serif" font-size="8.00" fill="#000000">writeMetaBlockInternal</text>
<text text-anchor="middle" x="815.5" y="-1914.1" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 3.70s (17.01%)</text>
</a>
</g>
</g>
<!-- N3&#45;&gt;N49 -->
<g id="edge14" class="edge">
<title>N3&#45;&gt;N49</title>
<g id="a_edge14"><a xlink:title="github.com/andybalholm/brotli.encodeData &#45;&gt; github.com/andybalholm/brotli.writeMetaBlockInternal (3.70s)">
<path fill="none" stroke="#b2591a" d="M1108.7416,-2050.1212C1045.6826,-2024.1827 938.387,-1980.048 872.5434,-1952.9641"/>
<polygon fill="#b2591a" stroke="#b2591a" points="873.7194,-1949.6633 863.1397,-1949.096 871.0564,-1956.137 873.7194,-1949.6633"/>
</a>
</g>
<g id="a_edge14&#45;label"><a xlink:title="github.com/andybalholm/brotli.encodeData &#45;&gt; github.com/andybalholm/brotli.writeMetaBlockInternal (3.70s)">
<text text-anchor="middle" x="1055.5" y="-2012.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 3.70s</text>
</a>
</g>
</g>
<!-- N7 -->
<g id="node7" class="node">
<title>N7</title>
<g id="a_node7"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).HashBytes (2.15s)">
<polygon fill="#ede7e1" stroke="#b2865a" points="1840.5,-1393 1558.5,-1393 1558.5,-1265 1840.5,-1265 1840.5,-1393"/>
<text text-anchor="middle" x="1699.5" y="-1371.4" font-family="Times,serif" font-size="22.00" fill="#000000">github</text>
<text text-anchor="middle" x="1699.5" y="-1347.4" font-family="Times,serif" font-size="22.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1699.5" y="-1323.4" font-family="Times,serif" font-size="22.00" fill="#000000">(*hashLongestMatchQuickly)</text>
<text text-anchor="middle" x="1699.5" y="-1299.4" font-family="Times,serif" font-size="22.00" fill="#000000">HashBytes</text>
<text text-anchor="middle" x="1699.5" y="-1275.4" font-family="Times,serif" font-size="22.00" fill="#000000">2.15s (9.89%)</text>
</a>
</g>
</g>
<!-- N4&#45;&gt;N7 -->
<g id="edge46" class="edge">
<title>N4&#45;&gt;N7</title>
<g id="a_edge46"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).FindLongestMatch &#45;&gt; github.com/andybalholm/brotli.(*hashLongestMatchQuickly).HashBytes (0.47s)">
<path fill="none" stroke="#b2ac9f" d="M1218.3982,-1658.7344C1228.5499,-1642.5358 1238.1743,-1625.175 1245.5,-1608 1274.8157,-1539.2701 1230.9258,-1498.0676 1282.5,-1444 1319.4708,-1405.2419 1444.7161,-1373.9705 1548.3799,-1353.8765"/>
<polygon fill="#b2ac9f" stroke="#b2ac9f" points="1549.1787,-1357.2872 1558.3408,-1351.967 1547.8607,-1350.4124 1549.1787,-1357.2872"/>
</a>
</g>
<g id="a_edge46&#45;label"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).FindLongestMatch &#45;&gt; github.com/andybalholm/brotli.(*hashLongestMatchQuickly).HashBytes (0.47s)">
<text text-anchor="middle" x="1299.5" y="-1522.3" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.47s</text>
</a>
</g>
</g>
<!-- N21 -->
<g id="node21" class="node">
<title>N21</title>
<g id="a_node21"><a xlink:title="github.com/andybalholm/brotli.findMatchLengthWithLimit (0.91s)">
<polygon fill="#edebe8" stroke="#b2a48d" points="1529.5,-1568 1325.5,-1568 1325.5,-1484 1529.5,-1484 1529.5,-1568"/>
<text text-anchor="middle" x="1427.5" y="-1550.4" font-family="Times,serif" font-size="17.00" fill="#000000">github</text>
<text text-anchor="middle" x="1427.5" y="-1531.4" font-family="Times,serif" font-size="17.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1427.5" y="-1512.4" font-family="Times,serif" font-size="17.00" fill="#000000">findMatchLengthWithLimit</text>
<text text-anchor="middle" x="1427.5" y="-1493.4" font-family="Times,serif" font-size="17.00" fill="#000000">0.91s (4.18%)</text>
</a>
</g>
</g>
<!-- N4&#45;&gt;N21 -->
<g id="edge23" class="edge">
<title>N4&#45;&gt;N21</title>
<g id="a_edge23"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).FindLongestMatch ... github.com/andybalholm/brotli.findMatchLengthWithLimit (0.91s)">
<path fill="none" stroke="#b2a48d" stroke-dasharray="1,5" d="M1264.537,-1658.9274C1272.3351,-1652.8963 1280.0581,-1646.8726 1287.5,-1641 1314.6825,-1619.5495 1344.3756,-1595.2816 1369.3934,-1574.5861"/>
<polygon fill="#b2a48d" stroke="#b2a48d" points="1371.875,-1577.0753 1377.3427,-1568.0004 1367.4092,-1571.6849 1371.875,-1577.0753"/>
</a>
</g>
<g id="a_edge23&#45;label"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).FindLongestMatch ... github.com/andybalholm/brotli.findMatchLengthWithLimit (0.91s)">
<text text-anchor="middle" x="1320.5" y="-1629.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.91s</text>
</a>
</g>
</g>
<!-- N25 -->
<g id="node25" class="node">
<title>N25</title>
<g id="a_node25"><a xlink:title="github.com/andybalholm/brotli.backwardReferenceScore (0.80s)">
<polygon fill="#edebe8" stroke="#b2a691" points="1237,-1567.5 1082,-1567.5 1082,-1484.5 1237,-1484.5 1237,-1567.5"/>
<text text-anchor="middle" x="1159.5" y="-1552.3" font-family="Times,serif" font-size="14.00" fill="#000000">github</text>
<text text-anchor="middle" x="1159.5" y="-1537.3" font-family="Times,serif" font-size="14.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1159.5" y="-1522.3" font-family="Times,serif" font-size="14.00" fill="#000000">backwardReferenceScore</text>
<text text-anchor="middle" x="1159.5" y="-1507.3" font-family="Times,serif" font-size="14.00" fill="#000000">0.30s (1.38%)</text>
<text text-anchor="middle" x="1159.5" y="-1492.3" font-family="Times,serif" font-size="14.00" fill="#000000">of 0.80s (3.68%)</text>
</a>
</g>
</g>
<!-- N4&#45;&gt;N25 -->
<g id="edge25" class="edge">
<title>N4&#45;&gt;N25</title>
<g id="a_edge25"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).FindLongestMatch &#45;&gt; github.com/andybalholm/brotli.backwardReferenceScore (0.80s)">
<path fill="none" stroke="#b2a691" d="M1159.5,-1658.7575C1159.5,-1631.6929 1159.5,-1602.1381 1159.5,-1577.7991"/>
<polygon fill="#b2a691" stroke="#b2a691" points="1163.0001,-1577.7099 1159.5,-1567.7099 1156.0001,-1577.71 1163.0001,-1577.7099"/>
</a>
</g>
<g id="a_edge25&#45;label"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).FindLongestMatch &#45;&gt; github.com/andybalholm/brotli.backwardReferenceScore (0.80s)">
<text text-anchor="middle" x="1176.5" y="-1629.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.80s</text>
</a>
</g>
</g>
<!-- N5 -->
<g id="node5" class="node">
<title>N5</title>
<g id="a_node5"><a xlink:title="runtime.mallocgc (3.63s)">
<polygon fill="#ede1d9" stroke="#b25b1d" points="751.5,-1071 575.5,-1071 575.5,-967 751.5,-967 751.5,-1071"/>
<text text-anchor="middle" x="663.5" y="-1049.4" font-family="Times,serif" font-size="22.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="663.5" y="-1025.4" font-family="Times,serif" font-size="22.00" fill="#000000">mallocgc</text>
<text text-anchor="middle" x="663.5" y="-1001.4" font-family="Times,serif" font-size="22.00" fill="#000000">2.28s (10.48%)</text>
<text text-anchor="middle" x="663.5" y="-977.4" font-family="Times,serif" font-size="22.00" fill="#000000">of 3.63s (16.69%)</text>
</a>
</g>
</g>
<!-- N9 -->
<g id="node9" class="node">
<title>N9</title>
<g id="a_node9"><a xlink:title="runtime.systemstack (1.59s)">
<polygon fill="#ede9e4" stroke="#b29471" points="697,-821 620,-821 620,-773 697,-773 697,-821"/>
<text text-anchor="middle" x="658.5" y="-809.8" font-family="Times,serif" font-size="9.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="658.5" y="-799.8" font-family="Times,serif" font-size="9.00" fill="#000000">systemstack</text>
<text text-anchor="middle" x="658.5" y="-789.8" font-family="Times,serif" font-size="9.00" fill="#000000">0.01s (0.046%)</text>
<text text-anchor="middle" x="658.5" y="-779.8" font-family="Times,serif" font-size="9.00" fill="#000000">of 1.59s (7.31%)</text>
</a>
</g>
</g>
<!-- N5&#45;&gt;N9 -->
<g id="edge28" class="edge">
<title>N5&#45;&gt;N9</title>
<g id="a_edge28"><a xlink:title="runtime.mallocgc ... runtime.systemstack (0.67s)">
<path fill="none" stroke="#b2a897" stroke-dasharray="1,5" d="M609.72,-966.9887C597.415,-951.8328 586.0404,-934.3684 579.5,-916 572.9403,-897.5775 571.7825,-889.9683 579.5,-872 586.862,-854.8596 600.2795,-839.793 613.993,-827.7469"/>
<polygon fill="#b2a897" stroke="#b2a897" points="616.6268,-830.1074 622.058,-821.0105 612.1393,-824.7349 616.6268,-830.1074"/>
</a>
</g>
<g id="a_edge28&#45;label"><a xlink:title="runtime.mallocgc ... runtime.systemstack (0.67s)">
<text text-anchor="middle" x="596.5" y="-890.3" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.67s</text>
</a>
</g>
</g>
<!-- N20 -->
<g id="node20" class="node">
<title>N20</title>
<g id="a_node20"><a xlink:title="runtime.memclrNoHeapPointers (0.89s)">
<polygon fill="#edebe8" stroke="#b2a48d" points="841.5,-175.5 661.5,-175.5 661.5,-110.5 841.5,-110.5 841.5,-175.5"/>
<text text-anchor="middle" x="751.5" y="-157.9" font-family="Times,serif" font-size="17.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="751.5" y="-138.9" font-family="Times,serif" font-size="17.00" fill="#000000">memclrNoHeapPointers</text>
<text text-anchor="middle" x="751.5" y="-119.9" font-family="Times,serif" font-size="17.00" fill="#000000">0.89s (4.09%)</text>
</a>
</g>
</g>
<!-- N5&#45;&gt;N20 -->
<g id="edge69" class="edge">
<title>N5&#45;&gt;N20</title>
<g id="a_edge69"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.memclrNoHeapPointers (0.03s)">
<path fill="none" stroke="#b2b2b1" d="M751.6789,-987.3777C790.0852,-967.436 826.5,-937.1507 826.5,-894 826.5,-894 826.5,-894 826.5,-257 826.5,-229.602 811.194,-203.6931 794.4111,-183.5193"/>
<polygon fill="#b2b2b1" stroke="#b2b2b1" points="796.8908,-181.0375 787.6819,-175.7986 791.6138,-185.6368 796.8908,-181.0375"/>
</a>
</g>
<g id="a_edge69&#45;label"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.memclrNoHeapPointers (0.03s)">
<text text-anchor="middle" x="843.5" y="-585.3" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.03s</text>
</a>
</g>
</g>
<!-- N52 -->
<g id="node52" class="node">
<title>N52</title>
<g id="a_node52"><a xlink:title="runtime.(*mcache).nextFree (0.55s)">
<polygon fill="#edecea" stroke="#b2ab9b" points="795,-916 718,-916 718,-872 795,-872 795,-916"/>
<text text-anchor="middle" x="756.5" y="-905.6" font-family="Times,serif" font-size="8.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="756.5" y="-896.6" font-family="Times,serif" font-size="8.00" fill="#000000">(*mcache)</text>
<text text-anchor="middle" x="756.5" y="-887.6" font-family="Times,serif" font-size="8.00" fill="#000000">nextFree</text>
<text text-anchor="middle" x="756.5" y="-878.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.55s (2.53%)</text>
</a>
</g>
</g>
<!-- N5&#45;&gt;N52 -->
<g id="edge34" class="edge">
<title>N5&#45;&gt;N52</title>
<g id="a_edge34"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.(*mcache).nextFree (0.55s)">
<path fill="none" stroke="#b2ab9b" d="M702.4015,-966.713C713.0781,-952.3628 724.304,-937.2742 733.745,-924.5847"/>
<polygon fill="#b2ab9b" stroke="#b2ab9b" points="736.8061,-926.3337 739.9672,-916.2214 731.19,-922.1553 736.8061,-926.3337"/>
</a>
</g>
<g id="a_edge34&#45;label"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.(*mcache).nextFree (0.55s)">
<text text-anchor="middle" x="743.5" y="-937.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.55s</text>
</a>
</g>
</g>
<!-- N6 -->
<g id="node6" class="node">
<title>N6</title>
<g id="a_node6"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).Store (4.73s)">
<polygon fill="#edded5" stroke="#b24100" points="1851.5,-1608 1547.5,-1608 1547.5,-1444 1851.5,-1444 1851.5,-1608"/>
<text text-anchor="middle" x="1699.5" y="-1584.8" font-family="Times,serif" font-size="24.00" fill="#000000">github</text>
<text text-anchor="middle" x="1699.5" y="-1558.8" font-family="Times,serif" font-size="24.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1699.5" y="-1532.8" font-family="Times,serif" font-size="24.00" fill="#000000">(*hashLongestMatchQuickly)</text>
<text text-anchor="middle" x="1699.5" y="-1506.8" font-family="Times,serif" font-size="24.00" fill="#000000">Store</text>
<text text-anchor="middle" x="1699.5" y="-1480.8" font-family="Times,serif" font-size="24.00" fill="#000000">3.05s (14.02%)</text>
<text text-anchor="middle" x="1699.5" y="-1454.8" font-family="Times,serif" font-size="24.00" fill="#000000">of 4.73s (21.75%)</text>
</a>
</g>
</g>
<!-- N6&#45;&gt;N7 -->
<g id="edge19" class="edge">
<title>N6&#45;&gt;N7</title>
<g id="a_edge19"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).Store &#45;&gt; github.com/andybalholm/brotli.(*hashLongestMatchQuickly).HashBytes (1.68s)">
<path fill="none" stroke="#b2926d" d="M1699.5,-1443.8808C1699.5,-1430.5519 1699.5,-1416.8113 1699.5,-1403.6724"/>
<polygon fill="#b2926d" stroke="#b2926d" points="1703.0001,-1403.2836 1699.5,-1393.2837 1696.0001,-1403.2837 1703.0001,-1403.2836"/>
</a>
</g>
<g id="a_edge19&#45;label"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).Store &#45;&gt; github.com/andybalholm/brotli.(*hashLongestMatchQuickly).HashBytes (1.68s)">
<text text-anchor="middle" x="1716.5" y="-1414.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 1.68s</text>
</a>
</g>
</g>
<!-- N8 -->
<g id="node8" class="node">
<title>N8</title>
<g id="a_node8"><a xlink:title="github.com/andybalholm/brotli.storeDataWithHuffmanCodes (2.97s)">
<polygon fill="#ede4dc" stroke="#b26f38" points="627.5,-1572.5 429.5,-1572.5 429.5,-1479.5 627.5,-1479.5 627.5,-1572.5"/>
<text text-anchor="middle" x="528.5" y="-1556.5" font-family="Times,serif" font-size="15.00" fill="#000000">github</text>
<text text-anchor="middle" x="528.5" y="-1539.5" font-family="Times,serif" font-size="15.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="528.5" y="-1522.5" font-family="Times,serif" font-size="15.00" fill="#000000">storeDataWithHuffmanCodes</text>
<text text-anchor="middle" x="528.5" y="-1505.5" font-family="Times,serif" font-size="15.00" fill="#000000">0.56s (2.57%)</text>
<text text-anchor="middle" x="528.5" y="-1488.5" font-family="Times,serif" font-size="15.00" fill="#000000">of 2.97s (13.66%)</text>
</a>
</g>
</g>
<!-- N11 -->
<g id="node11" class="node">
<title>N11</title>
<g id="a_node11"><a xlink:title="github.com/andybalholm/brotli.writeBits (1.35s)">
<polygon fill="#ede9e5" stroke="#b29a7b" points="510.5,-1214 308.5,-1214 308.5,-1122 510.5,-1122 510.5,-1214"/>
<text text-anchor="middle" x="409.5" y="-1194.8" font-family="Times,serif" font-size="19.00" fill="#000000">github</text>
<text text-anchor="middle" x="409.5" y="-1173.8" font-family="Times,serif" font-size="19.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="409.5" y="-1152.8" font-family="Times,serif" font-size="19.00" fill="#000000">writeBits</text>
<text text-anchor="middle" x="409.5" y="-1131.8" font-family="Times,serif" font-size="19.00" fill="#000000">1.35s (6.21%)</text>
</a>
</g>
</g>
<!-- N8&#45;&gt;N11 -->
<g id="edge22" class="edge">
<title>N8&#45;&gt;N11</title>
<g id="a_edge22"><a xlink:title="github.com/andybalholm/brotli.storeDataWithHuffmanCodes &#45;&gt; github.com/andybalholm/brotli.writeBits (1.10s)">
<path fill="none" stroke="#b2a085" d="M476.9348,-1479.3019C454.6736,-1455.8139 430.9235,-1425.4627 418.5,-1393 397.6504,-1338.5196 398.0484,-1271.1082 402.0082,-1224.3491"/>
<polygon fill="#b2a085" stroke="#b2a085" points="405.5194,-1224.3898 402.9601,-1214.1087 398.5494,-1223.7418 405.5194,-1224.3898"/>
</a>
</g>
<g id="a_edge22&#45;label"><a xlink:title="github.com/andybalholm/brotli.storeDataWithHuffmanCodes &#45;&gt; github.com/andybalholm/brotli.writeBits (1.10s)">
<text text-anchor="middle" x="435.5" y="-1325.3" font-family="Times,serif" font-size="14.00" fill="#000000"> 1.10s</text>
</a>
</g>
</g>
<!-- N18 -->
<g id="node18" class="node">
<title>N18</title>
<g id="a_node18"><a xlink:title="github.com/andybalholm/brotli.storeCommandExtra (1.31s)">
<polygon fill="#edeae6" stroke="#b29b7c" points="635,-1378 462,-1378 462,-1280 635,-1280 635,-1378"/>
<text text-anchor="middle" x="548.5" y="-1361.2" font-family="Times,serif" font-size="16.00" fill="#000000">github</text>
<text text-anchor="middle" x="548.5" y="-1343.2" font-family="Times,serif" font-size="16.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="548.5" y="-1325.2" font-family="Times,serif" font-size="16.00" fill="#000000">storeCommandExtra</text>
<text text-anchor="middle" x="548.5" y="-1307.2" font-family="Times,serif" font-size="16.00" fill="#000000">0.60s (2.76%)</text>
<text text-anchor="middle" x="548.5" y="-1289.2" font-family="Times,serif" font-size="16.00" fill="#000000">of 1.31s (6.02%)</text>
</a>
</g>
</g>
<!-- N8&#45;&gt;N18 -->
<g id="edge21" class="edge">
<title>N8&#45;&gt;N18</title>
<g id="a_edge21"><a xlink:title="github.com/andybalholm/brotli.storeDataWithHuffmanCodes &#45;&gt; github.com/andybalholm/brotli.storeCommandExtra (1.31s)">
<path fill="none" stroke="#b29b7c" d="M533.2397,-1479.3137C536.009,-1452.0367 539.5306,-1417.3487 542.4929,-1388.1701"/>
<polygon fill="#b29b7c" stroke="#b29b7c" points="545.9872,-1388.4026 543.5152,-1378.1002 539.023,-1387.6955 545.9872,-1388.4026"/>
</a>
</g>
<g id="a_edge21&#45;label"><a xlink:title="github.com/andybalholm/brotli.storeDataWithHuffmanCodes &#45;&gt; github.com/andybalholm/brotli.storeCommandExtra (1.31s)">
<text text-anchor="middle" x="557.5" y="-1414.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 1.31s</text>
</a>
</g>
</g>
<!-- N53 -->
<g id="node53" class="node">
<title>N53</title>
<g id="a_node53"><a xlink:title="runtime.(*mcache).nextFree.func1 (0.53s)">
<polygon fill="#edecea" stroke="#b2ab9c" points="768,-722 691,-722 691,-669 768,-669 768,-722"/>
<text text-anchor="middle" x="729.5" y="-711.6" font-family="Times,serif" font-size="8.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="729.5" y="-702.6" font-family="Times,serif" font-size="8.00" fill="#000000">(*mcache)</text>
<text text-anchor="middle" x="729.5" y="-693.6" font-family="Times,serif" font-size="8.00" fill="#000000">nextFree</text>
<text text-anchor="middle" x="729.5" y="-684.6" font-family="Times,serif" font-size="8.00" fill="#000000">func1</text>
<text text-anchor="middle" x="729.5" y="-675.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.53s (2.44%)</text>
</a>
</g>
</g>
<!-- N9&#45;&gt;N53 -->
<g id="edge41" class="edge">
<title>N9&#45;&gt;N53</title>
<g id="a_edge41"><a xlink:title="runtime.systemstack &#45;&gt; runtime.(*mcache).nextFree.func1 (0.53s)">
<path fill="none" stroke="#b2ab9c" d="M675.326,-772.9459C684.1554,-760.3237 695.1392,-744.6214 704.904,-730.6619"/>
<polygon fill="#b2ab9c" stroke="#b2ab9c" points="707.9323,-732.4389 710.7963,-722.2384 702.1963,-728.4265 707.9323,-732.4389"/>
</a>
</g>
<g id="a_edge41&#45;label"><a xlink:title="runtime.systemstack &#45;&gt; runtime.(*mcache).nextFree.func1 (0.53s)">
<text text-anchor="middle" x="715.5" y="-743.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.53s</text>
</a>
</g>
</g>
<!-- N54 -->
<g id="node54" class="node">
<title>N54</title>
<g id="a_node54"><a xlink:title="runtime.gcBgMarkWorker.func2 (0.25s)">
<polygon fill="#edeceb" stroke="#b2afa8" points="626,-717.5 549,-717.5 549,-673.5 626,-673.5 626,-717.5"/>
<text text-anchor="middle" x="587.5" y="-707.1" font-family="Times,serif" font-size="8.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="587.5" y="-698.1" font-family="Times,serif" font-size="8.00" fill="#000000">gcBgMarkWorker</text>
<text text-anchor="middle" x="587.5" y="-689.1" font-family="Times,serif" font-size="8.00" fill="#000000">func2</text>
<text text-anchor="middle" x="587.5" y="-680.1" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.25s (1.15%)</text>
</a>
</g>
</g>
<!-- N9&#45;&gt;N54 -->
<g id="edge54" class="edge">
<title>N9&#45;&gt;N54</title>
<g id="a_edge54"><a xlink:title="runtime.systemstack &#45;&gt; runtime.gcBgMarkWorker.func2 (0.25s)">
<path fill="none" stroke="#b2afa8" d="M626.3402,-772.762C620.5451,-767.3696 614.943,-761.3514 610.5,-755 604.6577,-746.6484 600.0435,-736.6118 596.5295,-727.1812"/>
<polygon fill="#b2afa8" stroke="#b2afa8" points="599.8206,-725.9883 593.2604,-717.6688 593.2006,-728.2635 599.8206,-725.9883"/>
</a>
</g>
<g id="a_edge54&#45;label"><a xlink:title="runtime.systemstack &#45;&gt; runtime.gcBgMarkWorker.func2 (0.25s)">
<text text-anchor="middle" x="627.5" y="-743.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.25s</text>
</a>
</g>
</g>
<!-- N55 -->
<g id="node55" class="node">
<title>N55</title>
<g id="a_node55"><a xlink:title="runtime.mallocgc.func1 (0.61s)">
<polygon fill="#edece9" stroke="#b2a999" points="697,-499.5 620,-499.5 620,-455.5 697,-455.5 697,-499.5"/>
<text text-anchor="middle" x="658.5" y="-489.1" font-family="Times,serif" font-size="8.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="658.5" y="-480.1" font-family="Times,serif" font-size="8.00" fill="#000000">mallocgc</text>
<text text-anchor="middle" x="658.5" y="-471.1" font-family="Times,serif" font-size="8.00" fill="#000000">func1</text>
<text text-anchor="middle" x="658.5" y="-462.1" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.61s (2.80%)</text>
</a>
</g>
</g>
<!-- N9&#45;&gt;N55 -->
<g id="edge30" class="edge">
<title>N9&#45;&gt;N55</title>
<g id="a_edge30"><a xlink:title="runtime.systemstack &#45;&gt; runtime.mallocgc.func1 (0.61s)">
<path fill="none" stroke="#b2a999" d="M658.5,-772.9856C658.5,-716.3272 658.5,-574.2664 658.5,-509.9905"/>
<polygon fill="#b2a999" stroke="#b2a999" points="662.0001,-509.6477 658.5,-499.6478 655.0001,-509.6478 662.0001,-509.6477"/>
</a>
</g>
<g id="a_edge30&#45;label"><a xlink:title="runtime.systemstack &#45;&gt; runtime.mallocgc.func1 (0.61s)">
<text text-anchor="middle" x="675.5" y="-639.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.61s</text>
</a>
</g>
</g>
<!-- N10 -->
<g id="node10" class="node">
<title>N10</title>
<g id="a_node10"><a xlink:title="github.com/andybalholm/brotli.encoderCompressStream (21.21s)">
<polygon fill="#edd5d5" stroke="#b20100" points="1208,-2195 1111,-2195 1111,-2151 1208,-2151 1208,-2195"/>
<text text-anchor="middle" x="1159.5" y="-2184.6" font-family="Times,serif" font-size="8.00" fill="#000000">github</text>
<text text-anchor="middle" x="1159.5" y="-2175.6" font-family="Times,serif" font-size="8.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1159.5" y="-2166.6" font-family="Times,serif" font-size="8.00" fill="#000000">encoderCompressStream</text>
<text text-anchor="middle" x="1159.5" y="-2157.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 21.21s (97.52%)</text>
</a>
</g>
</g>
<!-- N10&#45;&gt;N3 -->
<g id="edge9" class="edge">
<title>N10&#45;&gt;N3</title>
<g id="a_edge9"><a xlink:title="github.com/andybalholm/brotli.encoderCompressStream &#45;&gt; github.com/andybalholm/brotli.encodeData (20.61s)">
<path fill="none" stroke="#b20200" stroke-width="5" d="M1159.5,-2150.8675C1159.5,-2139.0082 1159.5,-2124.0436 1159.5,-2110.2823"/>
<polygon fill="#b20200" stroke="#b20200" stroke-width="5" points="1163.8751,-2110.0649 1159.5,-2100.0649 1155.1251,-2110.0649 1163.8751,-2110.0649"/>
</a>
</g>
<g id="a_edge9&#45;label"><a xlink:title="github.com/andybalholm/brotli.encoderCompressStream &#45;&gt; github.com/andybalholm/brotli.encodeData (20.61s)">
<text text-anchor="middle" x="1179.5" y="-2121.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 20.61s</text>
</a>
</g>
</g>
<!-- N46 -->
<g id="node46" class="node">
<title>N46</title>
<g id="a_node46"><a xlink:title="github.com/andybalholm/brotli.copyInputToRingBuffer (0.60s)">
<polygon fill="#edece9" stroke="#b2aa99" points="635.5,-2093 541.5,-2093 541.5,-2049 635.5,-2049 635.5,-2093"/>
<text text-anchor="middle" x="588.5" y="-2082.6" font-family="Times,serif" font-size="8.00" fill="#000000">github</text>
<text text-anchor="middle" x="588.5" y="-2073.6" font-family="Times,serif" font-size="8.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="588.5" y="-2064.6" font-family="Times,serif" font-size="8.00" fill="#000000">copyInputToRingBuffer</text>
<text text-anchor="middle" x="588.5" y="-2055.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.60s (2.76%)</text>
</a>
</g>
</g>
<!-- N10&#45;&gt;N46 -->
<g id="edge32" class="edge">
<title>N10&#45;&gt;N46</title>
<g id="a_edge32"><a xlink:title="github.com/andybalholm/brotli.encoderCompressStream &#45;&gt; github.com/andybalholm/brotli.copyInputToRingBuffer (0.60s)">
<path fill="none" stroke="#b2aa99" d="M1110.8169,-2164.3035C1005.8125,-2145.5462 758.4676,-2101.362 645.9857,-2081.2689"/>
<polygon fill="#b2aa99" stroke="#b2aa99" points="646.3136,-2077.7721 635.8539,-2079.459 645.0826,-2084.6631 646.3136,-2077.7721"/>
</a>
</g>
<g id="a_edge32&#45;label"><a xlink:title="github.com/andybalholm/brotli.encoderCompressStream &#45;&gt; github.com/andybalholm/brotli.copyInputToRingBuffer (0.60s)">
<text text-anchor="middle" x="942.5" y="-2121.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.60s</text>
</a>
</g>
</g>
<!-- N12 -->
<g id="node12" class="node">
<title>N12</title>
<g id="a_node12"><a xlink:title="github.com/andybalholm/brotli.(*Writer).writeChunk (21.23s)">
<polygon fill="#edd5d5" stroke="#b20100" points="1205.5,-2299 1113.5,-2299 1113.5,-2246 1205.5,-2246 1205.5,-2299"/>
<text text-anchor="middle" x="1159.5" y="-2288.6" font-family="Times,serif" font-size="8.00" fill="#000000">github</text>
<text text-anchor="middle" x="1159.5" y="-2279.6" font-family="Times,serif" font-size="8.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1159.5" y="-2270.6" font-family="Times,serif" font-size="8.00" fill="#000000">(*Writer)</text>
<text text-anchor="middle" x="1159.5" y="-2261.6" font-family="Times,serif" font-size="8.00" fill="#000000">writeChunk</text>
<text text-anchor="middle" x="1159.5" y="-2252.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 21.23s (97.61%)</text>
</a>
</g>
</g>
<!-- N12&#45;&gt;N10 -->
<g id="edge2" class="edge">
<title>N12&#45;&gt;N10</title>
<g id="a_edge2"><a xlink:title="github.com/andybalholm/brotli.(*Writer).writeChunk &#45;&gt; github.com/andybalholm/brotli.encoderCompressStream (21.21s)">
<path fill="none" stroke="#b20100" stroke-width="5" d="M1159.5,-2245.8358C1159.5,-2233.2993 1159.5,-2218.2498 1159.5,-2205.0933"/>
<polygon fill="#b20100" stroke="#b20100" stroke-width="5" points="1163.8751,-2205.0321 1159.5,-2195.0321 1155.1251,-2205.0322 1163.8751,-2205.0321"/>
</a>
</g>
<g id="a_edge2&#45;label"><a xlink:title="github.com/andybalholm/brotli.(*Writer).writeChunk &#45;&gt; github.com/andybalholm/brotli.encoderCompressStream (21.21s)">
<text text-anchor="middle" x="1179.5" y="-2216.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 21.21s</text>
</a>
</g>
</g>
<!-- N13 -->
<g id="node13" class="node">
<title>N13</title>
<g id="a_node13"><a xlink:title="github.com/shanemhansen/brotlibench.BenchmarkCompressBrotli.func1 (21.23s)">
<polygon fill="#edd5d5" stroke="#b20100" points="1217.5,-2793 1101.5,-2793 1101.5,-2740 1217.5,-2740 1217.5,-2793"/>
<text text-anchor="middle" x="1159.5" y="-2782.6" font-family="Times,serif" font-size="8.00" fill="#000000">github</text>
<text text-anchor="middle" x="1159.5" y="-2773.6" font-family="Times,serif" font-size="8.00" fill="#000000">com/shanemhansen/brotlibench</text>
<text text-anchor="middle" x="1159.5" y="-2764.6" font-family="Times,serif" font-size="8.00" fill="#000000">BenchmarkCompressBrotli</text>
<text text-anchor="middle" x="1159.5" y="-2755.6" font-family="Times,serif" font-size="8.00" fill="#000000">func1</text>
<text text-anchor="middle" x="1159.5" y="-2746.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 21.23s (97.61%)</text>
</a>
</g>
</g>
<!-- N44 -->
<g id="node44" class="node">
<title>N44</title>
<g id="a_node44"><a xlink:title="github.com/andybalholm/brotli.(*Writer).Flush (0.53s)">
<polygon fill="#edecea" stroke="#b2ab9c" points="1099.5,-2689 1007.5,-2689 1007.5,-2636 1099.5,-2636 1099.5,-2689"/>
<text text-anchor="middle" x="1053.5" y="-2678.6" font-family="Times,serif" font-size="8.00" fill="#000000">github</text>
<text text-anchor="middle" x="1053.5" y="-2669.6" font-family="Times,serif" font-size="8.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1053.5" y="-2660.6" font-family="Times,serif" font-size="8.00" fill="#000000">(*Writer)</text>
<text text-anchor="middle" x="1053.5" y="-2651.6" font-family="Times,serif" font-size="8.00" fill="#000000">Flush</text>
<text text-anchor="middle" x="1053.5" y="-2642.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.53s (2.44%)</text>
</a>
</g>
</g>
<!-- N13&#45;&gt;N44 -->
<g id="edge38" class="edge">
<title>N13&#45;&gt;N44</title>
<g id="a_edge38"><a xlink:title="github.com/shanemhansen/brotlibench.BenchmarkCompressBrotli.func1 &#45;&gt; github.com/andybalholm/brotli.(*Writer).Flush (0.53s)">
<path fill="none" stroke="#b2ab9c" d="M1132.4775,-2739.9873C1119.0013,-2726.7654 1102.5482,-2710.6227 1088.1544,-2696.5005"/>
<polygon fill="#b2ab9c" stroke="#b2ab9c" points="1090.4311,-2693.831 1080.8418,-2689.3259 1085.5287,-2698.8277 1090.4311,-2693.831"/>
</a>
</g>
<g id="a_edge38&#45;label"><a xlink:title="github.com/shanemhansen/brotlibench.BenchmarkCompressBrotli.func1 &#45;&gt; github.com/andybalholm/brotli.(*Writer).Flush (0.53s)">
<text text-anchor="middle" x="1130.5" y="-2710.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.53s</text>
</a>
</g>
</g>
<!-- N50 -->
<g id="node50" class="node">
<title>N50</title>
<g id="a_node50"><a xlink:title="io.CopyBuffer (20.70s)">
<polygon fill="#edd5d5" stroke="#b20200" points="1201.5,-2680.5 1117.5,-2680.5 1117.5,-2644.5 1201.5,-2644.5 1201.5,-2680.5"/>
<text text-anchor="middle" x="1159.5" y="-2669.6" font-family="Times,serif" font-size="8.00" fill="#000000">io</text>
<text text-anchor="middle" x="1159.5" y="-2660.6" font-family="Times,serif" font-size="8.00" fill="#000000">CopyBuffer</text>
<text text-anchor="middle" x="1159.5" y="-2651.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 20.70s (95.17%)</text>
</a>
</g>
</g>
<!-- N13&#45;&gt;N50 -->
<g id="edge6" class="edge">
<title>N13&#45;&gt;N50</title>
<g id="a_edge6"><a xlink:title="github.com/shanemhansen/brotlibench.BenchmarkCompressBrotli.func1 &#45;&gt; io.CopyBuffer (20.70s)">
<path fill="none" stroke="#b20200" stroke-width="5" d="M1159.5,-2739.9873C1159.5,-2725.0719 1159.5,-2706.4395 1159.5,-2691.1839"/>
<polygon fill="#b20200" stroke="#b20200" stroke-width="5" points="1163.8751,-2690.7735 1159.5,-2680.7735 1155.1251,-2690.7736 1163.8751,-2690.7735"/>
</a>
</g>
<g id="a_edge6&#45;label"><a xlink:title="github.com/shanemhansen/brotlibench.BenchmarkCompressBrotli.func1 &#45;&gt; io.CopyBuffer (20.70s)">
<text text-anchor="middle" x="1179.5" y="-2710.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 20.70s</text>
</a>
</g>
</g>
<!-- N14 -->
<g id="node14" class="node">
<title>N14</title>
<g id="a_node14"><a xlink:title="github.com/andybalholm/brotli.log2FloorNonZero (0.99s)">
<polygon fill="#edebe7" stroke="#b2a289" points="1211.5,-1063 1017.5,-1063 1017.5,-975 1211.5,-975 1211.5,-1063"/>
<text text-anchor="middle" x="1114.5" y="-1044.6" font-family="Times,serif" font-size="18.00" fill="#000000">github</text>
<text text-anchor="middle" x="1114.5" y="-1024.6" font-family="Times,serif" font-size="18.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1114.5" y="-1004.6" font-family="Times,serif" font-size="18.00" fill="#000000">log2FloorNonZero</text>
<text text-anchor="middle" x="1114.5" y="-984.6" font-family="Times,serif" font-size="18.00" fill="#000000">0.99s (4.55%)</text>
</a>
</g>
</g>
<!-- N15 -->
<g id="node15" class="node">
<title>N15</title>
<g id="a_node15"><a xlink:title="github.com/andybalholm/brotli.storeMetaBlockFast (3.70s)">
<polygon fill="#ede1d8" stroke="#b2591a" points="619.5,-1760 527.5,-1760 527.5,-1716 619.5,-1716 619.5,-1760"/>
<text text-anchor="middle" x="573.5" y="-1749.6" font-family="Times,serif" font-size="8.00" fill="#000000">github</text>
<text text-anchor="middle" x="573.5" y="-1740.6" font-family="Times,serif" font-size="8.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="573.5" y="-1731.6" font-family="Times,serif" font-size="8.00" fill="#000000">storeMetaBlockFast</text>
<text text-anchor="middle" x="573.5" y="-1722.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 3.70s (17.01%)</text>
</a>
</g>
</g>
<!-- N15&#45;&gt;N8 -->
<g id="edge17" class="edge">
<title>N15&#45;&gt;N8</title>
<g id="a_edge17"><a xlink:title="github.com/andybalholm/brotli.storeMetaBlockFast &#45;&gt; github.com/andybalholm/brotli.storeDataWithHuffmanCodes (2.97s)">
<path fill="none" stroke="#b26f38" d="M568.7693,-1715.713C562.112,-1684.3498 549.7566,-1626.142 540.48,-1582.4391"/>
<polygon fill="#b26f38" stroke="#b26f38" points="543.8726,-1581.5653 538.3724,-1572.51 537.0251,-1583.0188 543.8726,-1581.5653"/>
</a>
</g>
<g id="a_edge17&#45;label"><a xlink:title="github.com/andybalholm/brotli.storeMetaBlockFast &#45;&gt; github.com/andybalholm/brotli.storeDataWithHuffmanCodes (2.97s)">
<text text-anchor="middle" x="569.5" y="-1629.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 2.97s</text>
</a>
</g>
</g>
<!-- N27 -->
<g id="node27" class="node">
<title>N27</title>
<g id="a_node27"><a xlink:title="github.com/andybalholm/brotli.buildHistograms (0.33s)">
<polygon fill="#edeceb" stroke="#b2aea4" points="411,-1560 262,-1560 262,-1492 411,-1492 411,-1560"/>
<text text-anchor="middle" x="336.5" y="-1544.8" font-family="Times,serif" font-size="14.00" fill="#000000">github</text>
<text text-anchor="middle" x="336.5" y="-1529.8" font-family="Times,serif" font-size="14.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="336.5" y="-1514.8" font-family="Times,serif" font-size="14.00" fill="#000000">buildHistograms</text>
<text text-anchor="middle" x="336.5" y="-1499.8" font-family="Times,serif" font-size="14.00" fill="#000000">0.33s (1.52%)</text>
</a>
</g>
</g>
<!-- N15&#45;&gt;N27 -->
<g id="edge50" class="edge">
<title>N15&#45;&gt;N27</title>
<g id="a_edge50"><a xlink:title="github.com/andybalholm/brotli.storeMetaBlockFast &#45;&gt; github.com/andybalholm/brotli.buildHistograms (0.33s)">
<path fill="none" stroke="#b2aea4" d="M546.2055,-1715.7725C515.2189,-1690.3181 463.4032,-1647.0823 420.5,-1608 406.2626,-1595.0306 391.0902,-1580.4625 377.6131,-1567.2433"/>
<polygon fill="#b2aea4" stroke="#b2aea4" points="379.8974,-1564.5807 370.3169,-1560.0569 374.9853,-1569.5678 379.8974,-1564.5807"/>
</a>
</g>
<g id="a_edge50&#45;label"><a xlink:title="github.com/andybalholm/brotli.storeMetaBlockFast &#45;&gt; github.com/andybalholm/brotli.buildHistograms (0.33s)">
<text text-anchor="middle" x="475.5" y="-1629.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.33s</text>
</a>
</g>
</g>
<!-- N30 -->
<g id="node30" class="node">
<title>N30</title>
<g id="a_node30"><a xlink:title="github.com/andybalholm/brotli.buildAndStoreHuffmanTreeFast (0.39s)">
<polygon fill="#edeceb" stroke="#b2ada2" points="243.5,-1557.5 95.5,-1557.5 95.5,-1494.5 243.5,-1494.5 243.5,-1557.5"/>
<text text-anchor="middle" x="169.5" y="-1545.5" font-family="Times,serif" font-size="10.00" fill="#000000">github</text>
<text text-anchor="middle" x="169.5" y="-1534.5" font-family="Times,serif" font-size="10.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="169.5" y="-1523.5" font-family="Times,serif" font-size="10.00" fill="#000000">buildAndStoreHuffmanTreeFast</text>
<text text-anchor="middle" x="169.5" y="-1512.5" font-family="Times,serif" font-size="10.00" fill="#000000">0.03s (0.14%)</text>
<text text-anchor="middle" x="169.5" y="-1501.5" font-family="Times,serif" font-size="10.00" fill="#000000">of 0.39s (1.79%)</text>
</a>
</g>
</g>
<!-- N15&#45;&gt;N30 -->
<g id="edge49" class="edge">
<title>N15&#45;&gt;N30</title>
<g id="a_edge49"><a xlink:title="github.com/andybalholm/brotli.storeMetaBlockFast &#45;&gt; github.com/andybalholm/brotli.buildAndStoreHuffmanTreeFast (0.39s)">
<path fill="none" stroke="#b2ada2" d="M527.4315,-1725.6142C462.5066,-1706.8153 342.0258,-1666.9193 252.5,-1608 234.489,-1596.1465 217.106,-1579.9733 202.9428,-1565.1221"/>
<polygon fill="#b2ada2" stroke="#b2ada2" points="205.2224,-1562.4345 195.8435,-1557.5062 200.102,-1567.2076 205.2224,-1562.4345"/>
</a>
</g>
<g id="a_edge49&#45;label"><a xlink:title="github.com/andybalholm/brotli.storeMetaBlockFast &#45;&gt; github.com/andybalholm/brotli.buildAndStoreHuffmanTreeFast (0.39s)">
<text text-anchor="middle" x="318.5" y="-1629.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.39s</text>
</a>
</g>
</g>
<!-- N16&#45;&gt;N6 -->
<g id="edge13" class="edge">
<title>N16&#45;&gt;N6</title>
<g id="a_edge13"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).StoreRange &#45;&gt; github.com/andybalholm/brotli.(*hashLongestMatchQuickly).Store (4.72s)">
<path fill="none" stroke="#b24100" stroke-width="2" d="M1495.2953,-1682.8529C1522.5665,-1661.9054 1554.3584,-1637.4856 1584.623,-1614.2389"/>
<polygon fill="#b24100" stroke="#b24100" stroke-width="2" points="1586.8971,-1616.9055 1592.6955,-1608.0382 1582.633,-1611.3541 1586.8971,-1616.9055"/>
</a>
</g>
<g id="a_edge13&#45;label"><a xlink:title="github.com/andybalholm/brotli.(*hashLongestMatchQuickly).StoreRange &#45;&gt; github.com/andybalholm/brotli.(*hashLongestMatchQuickly).Store (4.72s)">
<text text-anchor="middle" x="1578.5" y="-1629.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 4.72s</text>
</a>
</g>
</g>
<!-- N24 -->
<g id="node24" class="node">
<title>N24</title>
<g id="a_node24"><a xlink:title="github.com/andybalholm/brotli.prefixEncodeCopyDistance (0.73s)">
<polygon fill="#edebe9" stroke="#b2a794" points="1063.5,-1572.5 879.5,-1572.5 879.5,-1479.5 1063.5,-1479.5 1063.5,-1572.5"/>
<text text-anchor="middle" x="971.5" y="-1556.5" font-family="Times,serif" font-size="15.00" fill="#000000">github</text>
<text text-anchor="middle" x="971.5" y="-1539.5" font-family="Times,serif" font-size="15.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="971.5" y="-1522.5" font-family="Times,serif" font-size="15.00" fill="#000000">prefixEncodeCopyDistance</text>
<text text-anchor="middle" x="971.5" y="-1505.5" font-family="Times,serif" font-size="15.00" fill="#000000">0.43s (1.98%)</text>
<text text-anchor="middle" x="971.5" y="-1488.5" font-family="Times,serif" font-size="15.00" fill="#000000">of 0.73s (3.36%)</text>
</a>
</g>
</g>
<!-- N17&#45;&gt;N24 -->
<g id="edge26" class="edge">
<title>N17&#45;&gt;N24</title>
<g id="a_edge26"><a xlink:title="github.com/andybalholm/brotli.initCommand &#45;&gt; github.com/andybalholm/brotli.prefixEncodeCopyDistance (0.73s)">
<path fill="none" stroke="#b2a794" d="M812.3822,-1696.3686C843.3996,-1663.158 887.0882,-1616.3803 920.8413,-1580.2407"/>
<polygon fill="#b2a794" stroke="#b2a794" points="923.6171,-1582.3963 927.8849,-1572.699 918.5013,-1577.6183 923.6171,-1582.3963"/>
</a>
</g>
<g id="a_edge26&#45;label"><a xlink:title="github.com/andybalholm/brotli.initCommand &#45;&gt; github.com/andybalholm/brotli.prefixEncodeCopyDistance (0.73s)">
<text text-anchor="middle" x="889.5" y="-1629.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.73s</text>
</a>
</g>
</g>
<!-- N26 -->
<g id="node26" class="node">
<title>N26</title>
<g id="a_node26"><a xlink:title="github.com/andybalholm/brotli.getLengthCode (0.52s)">
<polygon fill="#edecea" stroke="#b2ab9d" points="861.5,-1565 715.5,-1565 715.5,-1487 861.5,-1487 861.5,-1565"/>
<text text-anchor="middle" x="788.5" y="-1550.6" font-family="Times,serif" font-size="13.00" fill="#000000">github</text>
<text text-anchor="middle" x="788.5" y="-1536.6" font-family="Times,serif" font-size="13.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="788.5" y="-1522.6" font-family="Times,serif" font-size="13.00" fill="#000000">getLengthCode</text>
<text text-anchor="middle" x="788.5" y="-1508.6" font-family="Times,serif" font-size="13.00" fill="#000000">0.28s (1.29%)</text>
<text text-anchor="middle" x="788.5" y="-1494.6" font-family="Times,serif" font-size="13.00" fill="#000000">of 0.52s (2.39%)</text>
</a>
</g>
</g>
<!-- N17&#45;&gt;N26 -->
<g id="edge42" class="edge">
<title>N17&#45;&gt;N26</title>
<g id="a_edge42"><a xlink:title="github.com/andybalholm/brotli.initCommand &#45;&gt; github.com/andybalholm/brotli.getLengthCode (0.52s)">
<path fill="none" stroke="#b2ab9d" d="M776.4456,-1696.3686C778.91,-1661.5381 782.4303,-1611.7847 785.0308,-1575.0311"/>
<polygon fill="#b2ab9d" stroke="#b2ab9d" points="788.5237,-1575.2547 785.7383,-1565.0326 781.5411,-1574.7606 788.5237,-1575.2547"/>
</a>
</g>
<g id="a_edge42&#45;label"><a xlink:title="github.com/andybalholm/brotli.initCommand &#45;&gt; github.com/andybalholm/brotli.getLengthCode (0.52s)">
<text text-anchor="middle" x="798.5" y="-1629.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.52s</text>
</a>
</g>
</g>
<!-- N18&#45;&gt;N11 -->
<g id="edge56" class="edge">
<title>N18&#45;&gt;N11</title>
<g id="a_edge56"><a xlink:title="github.com/andybalholm/brotli.storeCommandExtra &#45;&gt; github.com/andybalholm/brotli.writeBits (0.23s)">
<path fill="none" stroke="#b2b0a9" d="M532.2785,-1279.5752C525.3912,-1263.2965 516.2008,-1245.8382 504.5,-1232 501.2137,-1228.1134 497.635,-1224.3642 493.8551,-1220.7639"/>
<polygon fill="#b2b0a9" stroke="#b2b0a9" points="496.1386,-1218.1102 486.3623,-1214.0266 491.4582,-1223.3155 496.1386,-1218.1102"/>
</a>
</g>
<g id="a_edge56&#45;label"><a xlink:title="github.com/andybalholm/brotli.storeCommandExtra &#45;&gt; github.com/andybalholm/brotli.writeBits (0.23s)">
<text text-anchor="middle" x="532.5" y="-1235.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.23s</text>
</a>
</g>
</g>
<!-- N23 -->
<g id="node23" class="node">
<title>N23</title>
<g id="a_node23"><a xlink:title="github.com/andybalholm/brotli.getCopyLengthCode (0.60s)">
<polygon fill="#edece9" stroke="#b2aa99" points="1034,-1209.5 885,-1209.5 885,-1126.5 1034,-1126.5 1034,-1209.5"/>
<text text-anchor="middle" x="959.5" y="-1194.3" font-family="Times,serif" font-size="14.00" fill="#000000">github</text>
<text text-anchor="middle" x="959.5" y="-1179.3" font-family="Times,serif" font-size="14.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="959.5" y="-1164.3" font-family="Times,serif" font-size="14.00" fill="#000000">getCopyLengthCode</text>
<text text-anchor="middle" x="959.5" y="-1149.3" font-family="Times,serif" font-size="14.00" fill="#000000">0.42s (1.93%)</text>
<text text-anchor="middle" x="959.5" y="-1134.3" font-family="Times,serif" font-size="14.00" fill="#000000">of 0.60s (2.76%)</text>
</a>
</g>
</g>
<!-- N18&#45;&gt;N23 -->
<g id="edge47" class="edge">
<title>N18&#45;&gt;N23</title>
<g id="a_edge47"><a xlink:title="github.com/andybalholm/brotli.storeCommandExtra &#45;&gt; github.com/andybalholm/brotli.getCopyLengthCode (0.44s)">
<path fill="none" stroke="#b2aca0" d="M635.0188,-1302.8277C701.8117,-1281.6103 795.9469,-1249.4874 875.5,-1214 875.5996,-1213.9555 875.6993,-1213.911 875.7991,-1213.8664"/>
<polygon fill="#b2aca0" stroke="#b2aca0" points="877.5629,-1216.9067 885.1642,-1209.5262 874.6194,-1210.5556 877.5629,-1216.9067"/>
</a>
</g>
<g id="a_edge47&#45;label"><a xlink:title="github.com/andybalholm/brotli.storeCommandExtra &#45;&gt; github.com/andybalholm/brotli.getCopyLengthCode (0.44s)">
<text text-anchor="middle" x="849.5" y="-1235.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.44s</text>
</a>
</g>
</g>
<!-- N32 -->
<g id="node32" class="node">
<title>N32</title>
<g id="a_node32"><a xlink:title="github.com/andybalholm/brotli.getInsertLengthCode (0.12s)">
<polygon fill="#ededec" stroke="#b2b1ad" points="867,-1204.5 738,-1204.5 738,-1131.5 867,-1131.5 867,-1204.5"/>
<text text-anchor="middle" x="802.5" y="-1190.9" font-family="Times,serif" font-size="12.00" fill="#000000">github</text>
<text text-anchor="middle" x="802.5" y="-1177.9" font-family="Times,serif" font-size="12.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="802.5" y="-1164.9" font-family="Times,serif" font-size="12.00" fill="#000000">getInsertLengthCode</text>
<text text-anchor="middle" x="802.5" y="-1151.9" font-family="Times,serif" font-size="12.00" fill="#000000">0.11s (0.51%)</text>
<text text-anchor="middle" x="802.5" y="-1138.9" font-family="Times,serif" font-size="12.00" fill="#000000">of 0.12s (0.55%)</text>
</a>
</g>
</g>
<!-- N18&#45;&gt;N32 -->
<g id="edge67" class="edge">
<title>N18&#45;&gt;N32</title>
<g id="a_edge67"><a xlink:title="github.com/andybalholm/brotli.storeCommandExtra &#45;&gt; github.com/andybalholm/brotli.getInsertLengthCode (0.04s)">
<path fill="none" stroke="#b2b2b0" d="M600.8175,-1279.8499C621.0753,-1262.8299 645.2168,-1244.8257 669.5,-1232 693.7418,-1219.1961 703.5364,-1225.3324 728.5,-1214 731.6961,-1212.5491 734.9207,-1210.9834 738.1424,-1209.3355"/>
<polygon fill="#b2b2b0" stroke="#b2b2b0" points="740.0184,-1212.3014 747.1882,-1204.501 736.7189,-1206.1278 740.0184,-1212.3014"/>
</a>
</g>
<g id="a_edge67&#45;label"><a xlink:title="github.com/andybalholm/brotli.storeCommandExtra &#45;&gt; github.com/andybalholm/brotli.getInsertLengthCode (0.04s)">
<text text-anchor="middle" x="686.5" y="-1235.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.04s</text>
</a>
</g>
</g>
<!-- N19&#45;&gt;N5 -->
<g id="edge18" class="edge">
<title>N19&#45;&gt;N5</title>
<g id="a_edge18"><a xlink:title="runtime.newobject &#45;&gt; runtime.mallocgc (2.95s)">
<path fill="none" stroke="#b27039" d="M663.5,-1135.6692C663.5,-1119.7816 663.5,-1100.0788 663.5,-1081.4156"/>
<polygon fill="#b27039" stroke="#b27039" points="667.0001,-1081.1849 663.5,-1071.1849 660.0001,-1081.1849 667.0001,-1081.1849"/>
</a>
</g>
<g id="a_edge18&#45;label"><a xlink:title="runtime.newobject &#45;&gt; runtime.mallocgc (2.95s)">
<text text-anchor="middle" x="680.5" y="-1092.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 2.95s</text>
</a>
</g>
</g>
<!-- N22 -->
<g id="node22" class="node">
<title>N22</title>
<g id="a_node22"><a xlink:title="runtime.(*mheap).alloc (1.01s)">
<polygon fill="#edeae7" stroke="#b2a189" points="790,-286 713,-286 713,-228 790,-228 790,-286"/>
<text text-anchor="middle" x="751.5" y="-274.8" font-family="Times,serif" font-size="9.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="751.5" y="-264.8" font-family="Times,serif" font-size="9.00" fill="#000000">(*mheap)</text>
<text text-anchor="middle" x="751.5" y="-254.8" font-family="Times,serif" font-size="9.00" fill="#000000">alloc</text>
<text text-anchor="middle" x="751.5" y="-244.8" font-family="Times,serif" font-size="9.00" fill="#000000">0.01s (0.046%)</text>
<text text-anchor="middle" x="751.5" y="-234.8" font-family="Times,serif" font-size="9.00" fill="#000000">of 1.01s (4.64%)</text>
</a>
</g>
</g>
<!-- N22&#45;&gt;N20 -->
<g id="edge24" class="edge">
<title>N22&#45;&gt;N20</title>
<g id="a_edge24"><a xlink:title="runtime.(*mheap).alloc &#45;&gt; runtime.memclrNoHeapPointers (0.83s)">
<path fill="none" stroke="#b2a590" d="M751.5,-227.938C751.5,-215.2166 751.5,-200.0286 751.5,-186.0367"/>
<polygon fill="#b2a590" stroke="#b2a590" points="755.0001,-185.6308 751.5,-175.6309 748.0001,-185.6309 755.0001,-185.6308"/>
</a>
</g>
<g id="a_edge24&#45;label"><a xlink:title="runtime.(*mheap).alloc &#45;&gt; runtime.memclrNoHeapPointers (0.83s)">
<text text-anchor="middle" x="768.5" y="-198.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.83s</text>
</a>
</g>
</g>
<!-- N42 -->
<g id="node42" class="node">
<title>N42</title>
<g id="a_node42"><a xlink:title="runtime.(*mheap).alloc.func1 (0.17s)">
<polygon fill="#edecec" stroke="#b2b0ab" points="643,-177 566,-177 566,-109 643,-109 643,-177"/>
<text text-anchor="middle" x="604.5" y="-165.8" font-family="Times,serif" font-size="9.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="604.5" y="-155.8" font-family="Times,serif" font-size="9.00" fill="#000000">(*mheap)</text>
<text text-anchor="middle" x="604.5" y="-145.8" font-family="Times,serif" font-size="9.00" fill="#000000">alloc</text>
<text text-anchor="middle" x="604.5" y="-135.8" font-family="Times,serif" font-size="9.00" fill="#000000">func1</text>
<text text-anchor="middle" x="604.5" y="-125.8" font-family="Times,serif" font-size="9.00" fill="#000000">0.01s (0.046%)</text>
<text text-anchor="middle" x="604.5" y="-115.8" font-family="Times,serif" font-size="9.00" fill="#000000">of 0.17s (0.78%)</text>
</a>
</g>
</g>
<!-- N22&#45;&gt;N42 -->
<g id="edge58" class="edge">
<title>N22&#45;&gt;N42</title>
<g id="a_edge58"><a xlink:title="runtime.(*mheap).alloc &#45;&gt; runtime.(*mheap).alloc.func1 (0.17s)">
<path fill="none" stroke="#b2b0ab" d="M714.0253,-227.938C694.9609,-213.1533 671.6003,-195.037 651.3578,-179.3387"/>
<polygon fill="#b2b0ab" stroke="#b2b0ab" points="653.2349,-176.3653 643.1878,-173.0028 648.9452,-181.8969 653.2349,-176.3653"/>
</a>
</g>
<g id="a_edge58&#45;label"><a xlink:title="runtime.(*mheap).alloc &#45;&gt; runtime.(*mheap).alloc.func1 (0.17s)">
<text text-anchor="middle" x="704.5" y="-198.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.17s</text>
</a>
</g>
</g>
<!-- N23&#45;&gt;N14 -->
<g id="edge57" class="edge">
<title>N23&#45;&gt;N14</title>
<g id="a_edge57"><a xlink:title="github.com/andybalholm/brotli.getCopyLengthCode &#45;&gt; github.com/andybalholm/brotli.log2FloorNonZero (0.18s)">
<path fill="none" stroke="#b2b0ab" d="M997.1076,-1126.2077C1008.5364,-1113.9604 1021.3034,-1100.7176 1033.5,-1089 1040.0946,-1082.6643 1047.1465,-1076.1782 1054.2362,-1069.8336"/>
<polygon fill="#b2b0ab" stroke="#b2b0ab" points="1056.763,-1072.2709 1061.9244,-1063.0183 1052.1195,-1067.0328 1056.763,-1072.2709"/>
</a>
</g>
<g id="a_edge57&#45;label"><a xlink:title="github.com/andybalholm/brotli.getCopyLengthCode &#45;&gt; github.com/andybalholm/brotli.log2FloorNonZero (0.18s)">
<text text-anchor="middle" x="1050.5" y="-1092.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.18s</text>
</a>
</g>
</g>
<!-- N24&#45;&gt;N14 -->
<g id="edge52" class="edge">
<title>N24&#45;&gt;N14</title>
<g id="a_edge52"><a xlink:title="github.com/andybalholm/brotli.prefixEncodeCopyDistance &#45;&gt; github.com/andybalholm/brotli.log2FloorNonZero (0.30s)">
<path fill="none" stroke="#b2afa6" d="M984.6968,-1479.2114C1011.2683,-1385.0033 1071.0803,-1172.9425 1099.2629,-1073.0223"/>
<polygon fill="#b2afa6" stroke="#b2afa6" points="1102.706,-1073.7082 1102.0521,-1063.1336 1095.9688,-1071.808 1102.706,-1073.7082"/>
</a>
</g>
<g id="a_edge52&#45;label"><a xlink:title="github.com/andybalholm/brotli.prefixEncodeCopyDistance &#45;&gt; github.com/andybalholm/brotli.log2FloorNonZero (0.30s)">
<text text-anchor="middle" x="1070.5" y="-1235.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.30s</text>
</a>
</g>
</g>
<!-- N25&#45;&gt;N14 -->
<g id="edge44" class="edge">
<title>N25&#45;&gt;N14</title>
<g id="a_edge44"><a xlink:title="github.com/andybalholm/brotli.backwardReferenceScore &#45;&gt; github.com/andybalholm/brotli.log2FloorNonZero (0.50s)">
<path fill="none" stroke="#b2ab9d" d="M1155.7792,-1484.0787C1147.6562,-1392.56 1128.3414,-1174.9463 1119.31,-1073.1932"/>
<polygon fill="#b2ab9d" stroke="#b2ab9d" points="1122.7873,-1072.7807 1118.4168,-1063.1293 1115.8147,-1073.3996 1122.7873,-1072.7807"/>
</a>
</g>
<g id="a_edge44&#45;label"><a xlink:title="github.com/andybalholm/brotli.backwardReferenceScore &#45;&gt; github.com/andybalholm/brotli.log2FloorNonZero (0.50s)">
<text text-anchor="middle" x="1151.5" y="-1235.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.50s</text>
</a>
</g>
</g>
<!-- N26&#45;&gt;N23 -->
<g id="edge59" class="edge">
<title>N26&#45;&gt;N23</title>
<g id="a_edge59"><a xlink:title="github.com/andybalholm/brotli.getLengthCode &#45;&gt; github.com/andybalholm/brotli.getCopyLengthCode (0.16s)">
<path fill="none" stroke="#b2b0ab" d="M807.2891,-1486.6637C838.4262,-1421.4762 900.6982,-1291.1055 935.1584,-1218.9608"/>
<polygon fill="#b2b0ab" stroke="#b2b0ab" points="938.4745,-1220.1386 939.6265,-1209.6066 932.1581,-1217.1215 938.4745,-1220.1386"/>
</a>
</g>
<g id="a_edge59&#45;label"><a xlink:title="github.com/andybalholm/brotli.getLengthCode &#45;&gt; github.com/andybalholm/brotli.getCopyLengthCode (0.16s)">
<text text-anchor="middle" x="930.5" y="-1325.3" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.16s</text>
</a>
</g>
</g>
<!-- N26&#45;&gt;N32 -->
<g id="edge66" class="edge">
<title>N26&#45;&gt;N32</title>
<g id="a_edge66"><a xlink:title="github.com/andybalholm/brotli.getLengthCode &#45;&gt; github.com/andybalholm/brotli.getInsertLengthCode (0.08s)">
<path fill="none" stroke="#b2b1af" d="M790.0383,-1486.6637C792.6381,-1420.1841 797.8889,-1285.9119 800.6722,-1214.7405"/>
<polygon fill="#b2b1af" stroke="#b2b1af" points="804.1708,-1214.8424 801.0643,-1204.7133 797.1761,-1214.5688 804.1708,-1214.8424"/>
</a>
</g>
<g id="a_edge66&#45;label"><a xlink:title="github.com/andybalholm/brotli.getLengthCode &#45;&gt; github.com/andybalholm/brotli.getInsertLengthCode (0.08s)">
<text text-anchor="middle" x="816.5" y="-1325.3" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.08s</text>
</a>
</g>
</g>
<!-- N28&#45;&gt;N5 -->
<g id="edge27" class="edge">
<title>N28&#45;&gt;N5</title>
<g id="a_edge27"><a xlink:title="runtime.makeslice &#45;&gt; runtime.mallocgc (0.68s)">
<path fill="none" stroke="#b2a896" d="M38.1113,-1507.8181C38.0082,-1462.7366 43.0785,-1343.7668 95.5,-1265 201.0368,-1106.4239 432.7415,-1049.507 565.2965,-1029.496"/>
<polygon fill="#b2a896" stroke="#b2a896" points="566.0647,-1032.9208 575.4506,-1028.006 565.0484,-1025.995 566.0647,-1032.9208"/>
</a>
</g>
<g id="a_edge27&#45;label"><a xlink:title="runtime.makeslice &#45;&gt; runtime.mallocgc (0.68s)">
<text text-anchor="middle" x="135.5" y="-1235.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.68s</text>
</a>
</g>
</g>
<!-- N29 -->
<g id="node29" class="node">
<title>N29</title>
<g id="a_node29"><a xlink:title="github.com/andybalholm/brotli.sortHuffmanTreeItems (0.30s)">
<polygon fill="#edeceb" stroke="#b2afa6" points="234,-1365.5 105,-1365.5 105,-1292.5 234,-1292.5 234,-1365.5"/>
<text text-anchor="middle" x="169.5" y="-1351.9" font-family="Times,serif" font-size="12.00" fill="#000000">github</text>
<text text-anchor="middle" x="169.5" y="-1338.9" font-family="Times,serif" font-size="12.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="169.5" y="-1325.9" font-family="Times,serif" font-size="12.00" fill="#000000">sortHuffmanTreeItems</text>
<text text-anchor="middle" x="169.5" y="-1312.9" font-family="Times,serif" font-size="12.00" fill="#000000">0.17s (0.78%)</text>
<text text-anchor="middle" x="169.5" y="-1299.9" font-family="Times,serif" font-size="12.00" fill="#000000">of 0.30s (1.38%)</text>
</a>
</g>
</g>
<!-- N29&#45;&gt;N19 -->
<g id="edge64" class="edge">
<title>N29&#45;&gt;N19</title>
<g id="a_edge64"><a xlink:title="github.com/andybalholm/brotli.sortHuffmanTreeItems &#45;&gt; runtime.newobject (0.10s)">
<path fill="none" stroke="#b2b1ae" d="M234.0895,-1307.873C294.2458,-1288.2037 386.4288,-1258.0821 466.5,-1232 510.1291,-1217.7884 559.2071,-1201.8442 597.4634,-1189.4251"/>
<polygon fill="#b2b1ae" stroke="#b2b1ae" points="599.0177,-1192.6004 607.4485,-1186.1839 596.8564,-1185.9424 599.0177,-1192.6004"/>
</a>
</g>
<g id="a_edge64&#45;label"><a xlink:title="github.com/andybalholm/brotli.sortHuffmanTreeItems &#45;&gt; runtime.newobject (0.10s)">
<text text-anchor="middle" x="483.5" y="-1235.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.10s</text>
</a>
</g>
</g>
<!-- N30&#45;&gt;N29 -->
<g id="edge51" class="edge">
<title>N30&#45;&gt;N29</title>
<g id="a_edge51"><a xlink:title="github.com/andybalholm/brotli.buildAndStoreHuffmanTreeFast &#45;&gt; github.com/andybalholm/brotli.sortHuffmanTreeItems (0.30s)">
<path fill="none" stroke="#b2afa6" d="M169.5,-1494.3485C169.5,-1462.374 169.5,-1412.6051 169.5,-1376.0177"/>
<polygon fill="#b2afa6" stroke="#b2afa6" points="173.0001,-1375.5979 169.5,-1365.5979 166.0001,-1375.5979 173.0001,-1375.5979"/>
</a>
</g>
<g id="a_edge51&#45;label"><a xlink:title="github.com/andybalholm/brotli.buildAndStoreHuffmanTreeFast &#45;&gt; github.com/andybalholm/brotli.sortHuffmanTreeItems (0.30s)">
<text text-anchor="middle" x="186.5" y="-1414.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.30s</text>
</a>
</g>
</g>
<!-- N31 -->
<g id="node31" class="node">
<title>N31</title>
<g id="a_node31"><a xlink:title="runtime.gcBgMarkWorker (0.29s)">
<polygon fill="#edeceb" stroke="#b2afa6" points="700,-912 623,-912 623,-876 700,-876 700,-912"/>
<text text-anchor="middle" x="661.5" y="-901.1" font-family="Times,serif" font-size="8.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="661.5" y="-892.1" font-family="Times,serif" font-size="8.00" fill="#000000">gcBgMarkWorker</text>
<text text-anchor="middle" x="661.5" y="-883.1" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.29s (1.33%)</text>
</a>
</g>
</g>
<!-- N31&#45;&gt;N9 -->
<g id="edge53" class="edge">
<title>N31&#45;&gt;N9</title>
<g id="a_edge53"><a xlink:title="runtime.gcBgMarkWorker ... runtime.systemstack (0.29s)">
<path fill="none" stroke="#b2afa6" stroke-dasharray="1,5" d="M660.9357,-875.755C660.5468,-863.1807 660.0182,-846.0887 659.5528,-831.0407"/>
<polygon fill="#b2afa6" stroke="#b2afa6" points="663.0508,-830.9171 659.2432,-821.0301 656.0541,-831.1335 663.0508,-830.9171"/>
</a>
</g>
<g id="a_edge53&#45;label"><a xlink:title="runtime.gcBgMarkWorker ... runtime.systemstack (0.29s)">
<text text-anchor="middle" x="677.5" y="-842.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.29s</text>
</a>
</g>
</g>
<!-- N33 -->
<g id="node33" class="node">
<title>N33</title>
<g id="a_node33"><a xlink:title="runtime.scanobject (0.11s)">
<polygon fill="#ededec" stroke="#b2b1ad" points="601.5,-505.5 511.5,-505.5 511.5,-449.5 601.5,-449.5 601.5,-505.5"/>
<text text-anchor="middle" x="556.5" y="-492.7" font-family="Times,serif" font-size="11.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="556.5" y="-480.7" font-family="Times,serif" font-size="11.00" fill="#000000">scanobject</text>
<text text-anchor="middle" x="556.5" y="-468.7" font-family="Times,serif" font-size="11.00" fill="#000000">0.10s (0.46%)</text>
<text text-anchor="middle" x="556.5" y="-456.7" font-family="Times,serif" font-size="11.00" fill="#000000">of 0.11s (0.51%)</text>
</a>
</g>
</g>
<!-- N35 -->
<g id="node35" class="node">
<title>N35</title>
<g id="a_node35"><a xlink:title="runtime.gcDrain (0.24s)">
<polygon fill="#edeceb" stroke="#b2afa8" points="600,-607 523,-607 523,-571 600,-571 600,-607"/>
<text text-anchor="middle" x="561.5" y="-596.1" font-family="Times,serif" font-size="8.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="561.5" y="-587.1" font-family="Times,serif" font-size="8.00" fill="#000000">gcDrain</text>
<text text-anchor="middle" x="561.5" y="-578.1" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.24s (1.10%)</text>
</a>
</g>
</g>
<!-- N35&#45;&gt;N33 -->
<g id="edge65" class="edge">
<title>N35&#45;&gt;N33</title>
<g id="a_edge65"><a xlink:title="runtime.gcDrain &#45;&gt; runtime.scanobject (0.10s)">
<path fill="none" stroke="#b2b1ae" d="M560.6744,-570.588C560.0081,-555.7311 559.0483,-534.3266 558.2169,-515.7877"/>
<polygon fill="#b2b1ae" stroke="#b2b1ae" points="561.7028,-515.3928 557.7583,-505.5597 554.7099,-515.7065 561.7028,-515.3928"/>
</a>
</g>
<g id="a_edge65&#45;label"><a xlink:title="runtime.gcDrain &#45;&gt; runtime.scanobject (0.10s)">
<text text-anchor="middle" x="576.5" y="-530.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.10s</text>
</a>
</g>
</g>
<!-- N36 -->
<g id="node36" class="node">
<title>N36</title>
<g id="a_node36"><a xlink:title="runtime.markroot (0.14s)">
<polygon fill="#edecec" stroke="#b2b1ac" points="493,-495.5 416,-495.5 416,-459.5 493,-459.5 493,-495.5"/>
<text text-anchor="middle" x="454.5" y="-484.6" font-family="Times,serif" font-size="8.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="454.5" y="-475.6" font-family="Times,serif" font-size="8.00" fill="#000000">markroot</text>
<text text-anchor="middle" x="454.5" y="-466.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.14s (0.64%)</text>
</a>
</g>
</g>
<!-- N35&#45;&gt;N36 -->
<g id="edge62" class="edge">
<title>N35&#45;&gt;N36</title>
<g id="a_edge62"><a xlink:title="runtime.gcDrain &#45;&gt; runtime.markroot (0.13s)">
<path fill="none" stroke="#b2b1ad" d="M543.8311,-570.588C526.1463,-552.1595 498.7943,-523.6571 479.0143,-503.0453"/>
<polygon fill="#b2b1ad" stroke="#b2b1ad" points="481.2894,-500.3611 471.8401,-495.5694 476.2388,-505.2079 481.2894,-500.3611"/>
</a>
</g>
<g id="a_edge62&#45;label"><a xlink:title="runtime.gcDrain &#45;&gt; runtime.markroot (0.13s)">
<text text-anchor="middle" x="531.5" y="-530.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.13s</text>
</a>
</g>
</g>
<!-- N37 -->
<g id="node37" class="node">
<title>N37</title>
<g id="a_node37"><a xlink:title="runtime.largeAlloc (0.61s)">
<polygon fill="#edece9" stroke="#b2a999" points="699,-384 622,-384 622,-348 699,-348 699,-384"/>
<text text-anchor="middle" x="660.5" y="-373.1" font-family="Times,serif" font-size="8.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="660.5" y="-364.1" font-family="Times,serif" font-size="8.00" fill="#000000">largeAlloc</text>
<text text-anchor="middle" x="660.5" y="-355.1" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.61s (2.80%)</text>
</a>
</g>
</g>
<!-- N37&#45;&gt;N20 -->
<g id="edge68" class="edge">
<title>N37&#45;&gt;N20</title>
<g id="a_edge68"><a xlink:title="runtime.largeAlloc ... runtime.memclrNoHeapPointers (0.03s)">
<path fill="none" stroke="#b2b2b1" stroke-dasharray="1,5" d="M656.871,-347.8275C651.2724,-314.6107 644.1061,-243.0937 674.5,-195 677.2832,-190.596 680.5897,-186.4755 684.2432,-182.6372"/>
<polygon fill="#b2b2b1" stroke="#b2b2b1" points="686.8091,-185.0273 691.6504,-175.6032 681.9888,-179.9513 686.8091,-185.0273"/>
</a>
</g>
<g id="a_edge68&#45;label"><a xlink:title="runtime.largeAlloc ... runtime.memclrNoHeapPointers (0.03s)">
<text text-anchor="middle" x="676.5" y="-253.3" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.03s</text>
</a>
</g>
</g>
<!-- N37&#45;&gt;N22 -->
<g id="edge33" class="edge">
<title>N37&#45;&gt;N22</title>
<g id="a_edge33"><a xlink:title="runtime.largeAlloc &#45;&gt; runtime.(*mheap).alloc (0.58s)">
<path fill="none" stroke="#b2aa9a" d="M675.9369,-347.5096C688.0736,-332.9722 705.3759,-312.2476 720.3619,-294.2972"/>
<polygon fill="#b2aa9a" stroke="#b2aa9a" points="723.3355,-296.1967 727.0576,-286.2772 717.962,-291.7106 723.3355,-296.1967"/>
</a>
</g>
<g id="a_edge33&#45;label"><a xlink:title="runtime.largeAlloc &#45;&gt; runtime.(*mheap).alloc (0.58s)">
<text text-anchor="middle" x="728.5" y="-307.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.58s</text>
</a>
</g>
</g>
<!-- N38 -->
<g id="node38" class="node">
<title>N38</title>
<g id="a_node38"><a xlink:title="runtime.(*mheap).alloc_m (0.16s)">
<polygon fill="#edecec" stroke="#b2b0ab" points="643,-58 566,-58 566,0 643,0 643,-58"/>
<text text-anchor="middle" x="604.5" y="-46.8" font-family="Times,serif" font-size="9.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="604.5" y="-36.8" font-family="Times,serif" font-size="9.00" fill="#000000">(*mheap)</text>
<text text-anchor="middle" x="604.5" y="-26.8" font-family="Times,serif" font-size="9.00" fill="#000000">alloc_m</text>
<text text-anchor="middle" x="604.5" y="-16.8" font-family="Times,serif" font-size="9.00" fill="#000000">0.01s (0.046%)</text>
<text text-anchor="middle" x="604.5" y="-6.8" font-family="Times,serif" font-size="9.00" fill="#000000">of 0.16s (0.74%)</text>
</a>
</g>
</g>
<!-- N39 -->
<g id="node39" class="node">
<title>N39</title>
<g id="a_node39"><a xlink:title="runtime.(*mcentral).cacheSpan (0.52s)">
<polygon fill="#edecea" stroke="#b2ab9d" points="798,-509 715,-509 715,-446 798,-446 798,-509"/>
<text text-anchor="middle" x="756.5" y="-497" font-family="Times,serif" font-size="10.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="756.5" y="-486" font-family="Times,serif" font-size="10.00" fill="#000000">(*mcentral)</text>
<text text-anchor="middle" x="756.5" y="-475" font-family="Times,serif" font-size="10.00" fill="#000000">cacheSpan</text>
<text text-anchor="middle" x="756.5" y="-464" font-family="Times,serif" font-size="10.00" fill="#000000">0.02s (0.092%)</text>
<text text-anchor="middle" x="756.5" y="-453" font-family="Times,serif" font-size="10.00" fill="#000000">of 0.52s (2.39%)</text>
</a>
</g>
</g>
<!-- N40 -->
<g id="node40" class="node">
<title>N40</title>
<g id="a_node40"><a xlink:title="runtime.(*mcentral).grow (0.48s)">
<polygon fill="#edecea" stroke="#b2ac9e" points="795,-395 718,-395 718,-337 795,-337 795,-395"/>
<text text-anchor="middle" x="756.5" y="-383.8" font-family="Times,serif" font-size="9.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="756.5" y="-373.8" font-family="Times,serif" font-size="9.00" fill="#000000">(*mcentral)</text>
<text text-anchor="middle" x="756.5" y="-363.8" font-family="Times,serif" font-size="9.00" fill="#000000">grow</text>
<text text-anchor="middle" x="756.5" y="-353.8" font-family="Times,serif" font-size="9.00" fill="#000000">0.01s (0.046%)</text>
<text text-anchor="middle" x="756.5" y="-343.8" font-family="Times,serif" font-size="9.00" fill="#000000">of 0.48s (2.21%)</text>
</a>
</g>
</g>
<!-- N39&#45;&gt;N40 -->
<g id="edge45" class="edge">
<title>N39&#45;&gt;N40</title>
<g id="a_edge45"><a xlink:title="runtime.(*mcentral).cacheSpan &#45;&gt; runtime.(*mcentral).grow (0.48s)">
<path fill="none" stroke="#b2ac9e" d="M756.5,-445.8468C756.5,-433.2478 756.5,-418.6156 756.5,-405.3449"/>
<polygon fill="#b2ac9e" stroke="#b2ac9e" points="760.0001,-405.0587 756.5,-395.0588 753.0001,-405.0588 760.0001,-405.0587"/>
</a>
</g>
<g id="a_edge45&#45;label"><a xlink:title="runtime.(*mcentral).cacheSpan &#45;&gt; runtime.(*mcentral).grow (0.48s)">
<text text-anchor="middle" x="773.5" y="-416.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.48s</text>
</a>
</g>
</g>
<!-- N40&#45;&gt;N22 -->
<g id="edge48" class="edge">
<title>N40&#45;&gt;N22</title>
<g id="a_edge48"><a xlink:title="runtime.(*mcentral).grow &#45;&gt; runtime.(*mheap).alloc (0.43s)">
<path fill="none" stroke="#b2ada0" d="M755.1601,-336.79C754.594,-324.4498 753.926,-309.8869 753.3167,-296.603"/>
<polygon fill="#b2ada0" stroke="#b2ada0" points="756.7983,-296.1197 752.8436,-286.2906 749.8056,-296.4405 756.7983,-296.1197"/>
</a>
</g>
<g id="a_edge48&#45;label"><a xlink:title="runtime.(*mcentral).grow &#45;&gt; runtime.(*mheap).alloc (0.43s)">
<text text-anchor="middle" x="771.5" y="-307.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.43s</text>
</a>
</g>
</g>
<!-- N41 -->
<g id="node41" class="node">
<title>N41</title>
<g id="a_node41"><a xlink:title="runtime.(*mcache).refill (0.53s)">
<polygon fill="#edecea" stroke="#b2ab9c" points="777,-618 700,-618 700,-560 777,-560 777,-618"/>
<text text-anchor="middle" x="738.5" y="-606.8" font-family="Times,serif" font-size="9.00" fill="#000000">runtime</text>
<text text-anchor="middle" x="738.5" y="-596.8" font-family="Times,serif" font-size="9.00" fill="#000000">(*mcache)</text>
<text text-anchor="middle" x="738.5" y="-586.8" font-family="Times,serif" font-size="9.00" fill="#000000">refill</text>
<text text-anchor="middle" x="738.5" y="-576.8" font-family="Times,serif" font-size="9.00" fill="#000000">0.01s (0.046%)</text>
<text text-anchor="middle" x="738.5" y="-566.8" font-family="Times,serif" font-size="9.00" fill="#000000">of 0.53s (2.44%)</text>
</a>
</g>
</g>
<!-- N41&#45;&gt;N39 -->
<g id="edge43" class="edge">
<title>N41&#45;&gt;N39</title>
<g id="a_edge43"><a xlink:title="runtime.(*mcache).refill &#45;&gt; runtime.(*mcentral).cacheSpan (0.52s)">
<path fill="none" stroke="#b2ab9d" d="M743.1823,-559.9958C745.1911,-547.5525 747.576,-532.7795 749.7686,-519.197"/>
<polygon fill="#b2ab9d" stroke="#b2ab9d" points="753.26,-519.5308 751.3985,-509.1008 746.3495,-518.4152 753.26,-519.5308"/>
</a>
</g>
<g id="a_edge43&#45;label"><a xlink:title="runtime.(*mcache).refill &#45;&gt; runtime.(*mcentral).cacheSpan (0.52s)">
<text text-anchor="middle" x="765.5" y="-530.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.52s</text>
</a>
</g>
</g>
<!-- N42&#45;&gt;N38 -->
<g id="edge60" class="edge">
<title>N42&#45;&gt;N38</title>
<g id="a_edge60"><a xlink:title="runtime.(*mheap).alloc.func1 &#45;&gt; runtime.(*mheap).alloc_m (0.16s)">
<path fill="none" stroke="#b2b0ab" d="M604.5,-108.7962C604.5,-96.0656 604.5,-81.5186 604.5,-68.3622"/>
<polygon fill="#b2b0ab" stroke="#b2b0ab" points="608.0001,-68.1705 604.5,-58.1705 601.0001,-68.1705 608.0001,-68.1705"/>
</a>
</g>
<g id="a_edge60&#45;label"><a xlink:title="runtime.(*mheap).alloc.func1 &#45;&gt; runtime.(*mheap).alloc_m (0.16s)">
<text text-anchor="middle" x="621.5" y="-79.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.16s</text>
</a>
</g>
</g>
<!-- N43 -->
<g id="node43" class="node">
<title>N43</title>
<g id="a_node43"><a xlink:title="bytes.(*Reader).WriteTo (20.70s)">
<polygon fill="#edd5d5" stroke="#b20200" points="1201.5,-2498 1117.5,-2498 1117.5,-2454 1201.5,-2454 1201.5,-2498"/>
<text text-anchor="middle" x="1159.5" y="-2487.6" font-family="Times,serif" font-size="8.00" fill="#000000">bytes</text>
<text text-anchor="middle" x="1159.5" y="-2478.6" font-family="Times,serif" font-size="8.00" fill="#000000">(*Reader)</text>
<text text-anchor="middle" x="1159.5" y="-2469.6" font-family="Times,serif" font-size="8.00" fill="#000000">WriteTo</text>
<text text-anchor="middle" x="1159.5" y="-2460.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 20.70s (95.17%)</text>
</a>
</g>
</g>
<!-- N45 -->
<g id="node45" class="node">
<title>N45</title>
<g id="a_node45"><a xlink:title="github.com/andybalholm/brotli.(*Writer).Write (20.70s)">
<polygon fill="#edd5d5" stroke="#b20200" points="1205.5,-2403 1113.5,-2403 1113.5,-2350 1205.5,-2350 1205.5,-2403"/>
<text text-anchor="middle" x="1159.5" y="-2392.6" font-family="Times,serif" font-size="8.00" fill="#000000">github</text>
<text text-anchor="middle" x="1159.5" y="-2383.6" font-family="Times,serif" font-size="8.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="1159.5" y="-2374.6" font-family="Times,serif" font-size="8.00" fill="#000000">(*Writer)</text>
<text text-anchor="middle" x="1159.5" y="-2365.6" font-family="Times,serif" font-size="8.00" fill="#000000">Write</text>
<text text-anchor="middle" x="1159.5" y="-2356.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 20.70s (95.17%)</text>
</a>
</g>
</g>
<!-- N43&#45;&gt;N45 -->
<g id="edge4" class="edge">
<title>N43&#45;&gt;N45</title>
<g id="a_edge4"><a xlink:title="bytes.(*Reader).WriteTo &#45;&gt; github.com/andybalholm/brotli.(*Writer).Write (20.70s)">
<path fill="none" stroke="#b20200" stroke-width="5" d="M1159.5,-2453.9177C1159.5,-2441.9644 1159.5,-2426.8865 1159.5,-2413.2199"/>
<polygon fill="#b20200" stroke="#b20200" stroke-width="5" points="1163.8751,-2413.1192 1159.5,-2403.1192 1155.1251,-2413.1193 1163.8751,-2413.1192"/>
</a>
</g>
<g id="a_edge4&#45;label"><a xlink:title="bytes.(*Reader).WriteTo &#45;&gt; github.com/andybalholm/brotli.(*Writer).Write (20.70s)">
<text text-anchor="middle" x="1179.5" y="-2424.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 20.70s</text>
</a>
</g>
</g>
<!-- N44&#45;&gt;N12 -->
<g id="edge35" class="edge">
<title>N44&#45;&gt;N12</title>
<g id="a_edge35"><a xlink:title="github.com/andybalholm/brotli.(*Writer).Flush &#45;&gt; github.com/andybalholm/brotli.(*Writer).writeChunk (0.53s)">
<path fill="none" stroke="#b2ab9c" d="M1056.0794,-2635.7711C1057.7056,-2616.6386 1059.5,-2590.2576 1059.5,-2567 1059.5,-2567 1059.5,-2567 1059.5,-2376.5 1059.5,-2346.3634 1081.588,-2321.5824 1105.0022,-2303.7796"/>
<polygon fill="#b2ab9c" stroke="#b2ab9c" points="1107.2523,-2306.4717 1113.3053,-2297.7762 1103.1509,-2300.7991 1107.2523,-2306.4717"/>
</a>
</g>
<g id="a_edge35&#45;label"><a xlink:title="github.com/andybalholm/brotli.(*Writer).Flush &#45;&gt; github.com/andybalholm/brotli.(*Writer).writeChunk (0.53s)">
<text text-anchor="middle" x="1076.5" y="-2472.3" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.53s</text>
</a>
</g>
</g>
<!-- N45&#45;&gt;N12 -->
<g id="edge5" class="edge">
<title>N45&#45;&gt;N12</title>
<g id="a_edge5"><a xlink:title="github.com/andybalholm/brotli.(*Writer).Write &#45;&gt; github.com/andybalholm/brotli.(*Writer).writeChunk (20.70s)">
<path fill="none" stroke="#b20200" stroke-width="5" d="M1159.5,-2349.9873C1159.5,-2337.7358 1159.5,-2322.9766 1159.5,-2309.6407"/>
<polygon fill="#b20200" stroke="#b20200" stroke-width="5" points="1163.8751,-2309.3258 1159.5,-2299.3259 1155.1251,-2309.3259 1163.8751,-2309.3258"/>
</a>
</g>
<g id="a_edge5&#45;label"><a xlink:title="github.com/andybalholm/brotli.(*Writer).Write &#45;&gt; github.com/andybalholm/brotli.(*Writer).writeChunk (20.70s)">
<text text-anchor="middle" x="1179.5" y="-2320.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 20.70s</text>
</a>
</g>
</g>
<!-- N48 -->
<g id="node48" class="node">
<title>N48</title>
<g id="a_node48"><a xlink:title="github.com/andybalholm/brotli.ringBufferWrite (0.60s)">
<polygon fill="#edece9" stroke="#b2aa99" points="164.5,-1951.5 72.5,-1951.5 72.5,-1907.5 164.5,-1907.5 164.5,-1951.5"/>
<text text-anchor="middle" x="118.5" y="-1941.1" font-family="Times,serif" font-size="8.00" fill="#000000">github</text>
<text text-anchor="middle" x="118.5" y="-1932.1" font-family="Times,serif" font-size="8.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="118.5" y="-1923.1" font-family="Times,serif" font-size="8.00" fill="#000000">ringBufferWrite</text>
<text text-anchor="middle" x="118.5" y="-1914.1" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.60s (2.76%)</text>
</a>
</g>
</g>
<!-- N46&#45;&gt;N48 -->
<g id="edge31" class="edge">
<title>N46&#45;&gt;N48</title>
<g id="a_edge31"><a xlink:title="github.com/andybalholm/brotli.copyInputToRingBuffer &#45;&gt; github.com/andybalholm/brotli.ringBufferWrite (0.60s)">
<path fill="none" stroke="#b2aa99" d="M541.2405,-2068.8452C433.8597,-2063.5422 178.4722,-2048.4815 148.5,-2024 130.1389,-2009.0025 122.8511,-1982.7891 120.0361,-1961.7695"/>
<polygon fill="#b2aa99" stroke="#b2aa99" points="123.4969,-1961.2142 118.9606,-1951.6396 116.5361,-1961.9533 123.4969,-1961.2142"/>
</a>
</g>
<g id="a_edge31&#45;label"><a xlink:title="github.com/andybalholm/brotli.copyInputToRingBuffer &#45;&gt; github.com/andybalholm/brotli.ringBufferWrite (0.60s)">
<text text-anchor="middle" x="165.5" y="-2012.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.60s</text>
</a>
</g>
</g>
<!-- N47 -->
<g id="node47" class="node">
<title>N47</title>
<g id="a_node47"><a xlink:title="github.com/andybalholm/brotli.ringBufferInitBuffer (0.53s)">
<polygon fill="#edecea" stroke="#b2ab9c" points="160.5,-1760 68.5,-1760 68.5,-1716 160.5,-1716 160.5,-1760"/>
<text text-anchor="middle" x="114.5" y="-1749.6" font-family="Times,serif" font-size="8.00" fill="#000000">github</text>
<text text-anchor="middle" x="114.5" y="-1740.6" font-family="Times,serif" font-size="8.00" fill="#000000">com/andybalholm/brotli</text>
<text text-anchor="middle" x="114.5" y="-1731.6" font-family="Times,serif" font-size="8.00" fill="#000000">ringBufferInitBuffer</text>
<text text-anchor="middle" x="114.5" y="-1722.6" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 0.53s (2.44%)</text>
</a>
</g>
</g>
<!-- N47&#45;&gt;N28 -->
<g id="edge36" class="edge">
<title>N47&#45;&gt;N28</title>
<g id="a_edge36"><a xlink:title="github.com/andybalholm/brotli.ringBufferInitBuffer &#45;&gt; runtime.makeslice (0.53s)">
<path fill="none" stroke="#b2ab9c" d="M106.5103,-1715.713C92.5033,-1676.6407 63.5604,-1595.9053 48.3426,-1553.4557"/>
<polygon fill="#b2ab9c" stroke="#b2ab9c" points="51.6314,-1552.2579 44.962,-1544.0257 45.042,-1554.6202 51.6314,-1552.2579"/>
</a>
</g>
<g id="a_edge36&#45;label"><a xlink:title="github.com/andybalholm/brotli.ringBufferInitBuffer &#45;&gt; runtime.makeslice (0.53s)">
<text text-anchor="middle" x="96.5" y="-1629.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.53s</text>
</a>
</g>
</g>
<!-- N48&#45;&gt;N47 -->
<g id="edge37" class="edge">
<title>N48&#45;&gt;N47</title>
<g id="a_edge37"><a xlink:title="github.com/andybalholm/brotli.ringBufferWrite &#45;&gt; github.com/andybalholm/brotli.ringBufferInitBuffer (0.53s)">
<path fill="none" stroke="#b2ab9c" d="M118.0333,-1907.1577C117.3288,-1873.4288 115.9899,-1809.3279 115.1778,-1770.4504"/>
<polygon fill="#b2ab9c" stroke="#b2ab9c" points="118.6719,-1770.1247 114.9637,-1760.2 111.6734,-1770.2709 118.6719,-1770.1247"/>
</a>
</g>
<g id="a_edge37&#45;label"><a xlink:title="github.com/andybalholm/brotli.ringBufferWrite &#45;&gt; github.com/andybalholm/brotli.ringBufferInitBuffer (0.53s)">
<text text-anchor="middle" x="134.5" y="-1838.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.53s</text>
</a>
</g>
</g>
<!-- N49&#45;&gt;N15 -->
<g id="edge15" class="edge">
<title>N49&#45;&gt;N15</title>
<g id="a_edge15"><a xlink:title="github.com/andybalholm/brotli.writeMetaBlockInternal &#45;&gt; github.com/andybalholm/brotli.storeMetaBlockFast (3.70s)">
<path fill="none" stroke="#b2591a" d="M767.7581,-1921.9102C722.9101,-1912.4262 656.7036,-1892.0183 615.5,-1850 594.2537,-1828.3336 583.578,-1794.9105 578.3279,-1770.2113"/>
<polygon fill="#b2591a" stroke="#b2591a" points="581.7307,-1769.373 576.395,-1760.2198 574.8581,-1770.7026 581.7307,-1769.373"/>
</a>
</g>
<g id="a_edge15&#45;label"><a xlink:title="github.com/andybalholm/brotli.writeMetaBlockInternal &#45;&gt; github.com/andybalholm/brotli.storeMetaBlockFast (3.70s)">
<text text-anchor="middle" x="632.5" y="-1838.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 3.70s</text>
</a>
</g>
</g>
<!-- N51 -->
<g id="node51" class="node">
<title>N51</title>
<g id="a_node51"><a xlink:title="io.copyBuffer (20.70s)">
<polygon fill="#edd5d5" stroke="#b20200" points="1201.5,-2585 1117.5,-2585 1117.5,-2549 1201.5,-2549 1201.5,-2585"/>
<text text-anchor="middle" x="1159.5" y="-2574.1" font-family="Times,serif" font-size="8.00" fill="#000000">io</text>
<text text-anchor="middle" x="1159.5" y="-2565.1" font-family="Times,serif" font-size="8.00" fill="#000000">copyBuffer</text>
<text text-anchor="middle" x="1159.5" y="-2556.1" font-family="Times,serif" font-size="8.00" fill="#000000">0 of 20.70s (95.17%)</text>
</a>
</g>
</g>
<!-- N50&#45;&gt;N51 -->
<g id="edge7" class="edge">
<title>N50&#45;&gt;N51</title>
<g id="a_edge7"><a xlink:title="io.CopyBuffer &#45;&gt; io.copyBuffer (20.70s)">
<path fill="none" stroke="#b20200" stroke-width="5" d="M1159.5,-2644.0866C1159.5,-2630.2585 1159.5,-2611.0711 1159.5,-2595.2988"/>
<polygon fill="#b20200" stroke="#b20200" stroke-width="5" points="1163.8751,-2595.0329 1159.5,-2585.033 1155.1251,-2595.033 1163.8751,-2595.0329"/>
</a>
</g>
<g id="a_edge7&#45;label"><a xlink:title="io.CopyBuffer &#45;&gt; io.copyBuffer (20.70s)">
<text text-anchor="middle" x="1179.5" y="-2606.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 20.70s</text>
</a>
</g>
</g>
<!-- N51&#45;&gt;N43 -->
<g id="edge8" class="edge">
<title>N51&#45;&gt;N43</title>
<g id="a_edge8"><a xlink:title="io.copyBuffer &#45;&gt; bytes.(*Reader).WriteTo (20.70s)">
<path fill="none" stroke="#b20200" stroke-width="5" d="M1159.5,-2548.5848C1159.5,-2537.1105 1159.5,-2522.0231 1159.5,-2508.5774"/>
<polygon fill="#b20200" stroke="#b20200" stroke-width="5" points="1163.8751,-2508.2465 1159.5,-2498.2465 1155.1251,-2508.2466 1163.8751,-2508.2465"/>
</a>
</g>
<g id="a_edge8&#45;label"><a xlink:title="io.copyBuffer &#45;&gt; bytes.(*Reader).WriteTo (20.70s)">
<text text-anchor="middle" x="1179.5" y="-2519.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 20.70s</text>
</a>
</g>
</g>
<!-- N52&#45;&gt;N9 -->
<g id="edge39" class="edge">
<title>N52&#45;&gt;N9</title>
<g id="a_edge39"><a xlink:title="runtime.(*mcache).nextFree &#45;&gt; runtime.systemstack (0.53s)">
<path fill="none" stroke="#b2ab9c" d="M734.2623,-871.9892C721.2779,-859.1373 704.677,-842.7058 690.3261,-828.5013"/>
<polygon fill="#b2ab9c" stroke="#b2ab9c" points="692.6271,-825.8542 683.0576,-821.307 687.7027,-830.8293 692.6271,-825.8542"/>
</a>
</g>
<g id="a_edge39&#45;label"><a xlink:title="runtime.(*mcache).nextFree &#45;&gt; runtime.systemstack (0.53s)">
<text text-anchor="middle" x="730.5" y="-842.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.53s</text>
</a>
</g>
</g>
<!-- N53&#45;&gt;N41 -->
<g id="edge40" class="edge">
<title>N53&#45;&gt;N41</title>
<g id="a_edge40"><a xlink:title="runtime.(*mcache).nextFree.func1 &#45;&gt; runtime.(*mcache).refill (0.53s)">
<path fill="none" stroke="#b2ab9c" d="M731.7479,-668.9003C732.7851,-656.6263 734.0374,-641.8072 735.1804,-628.2818"/>
<polygon fill="#b2ab9c" stroke="#b2ab9c" points="738.6732,-628.5138 736.0278,-618.2546 731.6981,-627.9243 738.6732,-628.5138"/>
</a>
</g>
<g id="a_edge40&#45;label"><a xlink:title="runtime.(*mcache).nextFree.func1 &#45;&gt; runtime.(*mcache).refill (0.53s)">
<text text-anchor="middle" x="751.5" y="-639.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.53s</text>
</a>
</g>
</g>
<!-- N54&#45;&gt;N35 -->
<g id="edge55" class="edge">
<title>N54&#45;&gt;N35</title>
<g id="a_edge55"><a xlink:title="runtime.gcBgMarkWorker.func2 &#45;&gt; runtime.gcDrain (0.24s)">
<path fill="none" stroke="#b2afa8" d="M582.1128,-673.4331C578.1091,-657.0334 572.618,-634.5409 568.3099,-616.8945"/>
<polygon fill="#b2afa8" stroke="#b2afa8" points="571.7022,-616.0319 565.9303,-607.1474 564.9019,-617.6922 571.7022,-616.0319"/>
</a>
</g>
<g id="a_edge55&#45;label"><a xlink:title="runtime.gcBgMarkWorker.func2 &#45;&gt; runtime.gcDrain (0.24s)">
<text text-anchor="middle" x="593.5" y="-639.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.24s</text>
</a>
</g>
</g>
<!-- N55&#45;&gt;N37 -->
<g id="edge29" class="edge">
<title>N55&#45;&gt;N37</title>
<g id="a_edge29"><a xlink:title="runtime.mallocgc.func1 &#45;&gt; runtime.largeAlloc (0.61s)">
<path fill="none" stroke="#b2a999" d="M658.8951,-455.4712C659.2087,-437.9883 659.6494,-413.4186 659.9897,-394.4486"/>
<polygon fill="#b2a999" stroke="#b2a999" points="663.4918,-394.3561 660.1718,-384.2949 656.493,-394.2305 663.4918,-394.3561"/>
</a>
</g>
<g id="a_edge29&#45;label"><a xlink:title="runtime.mallocgc.func1 &#45;&gt; runtime.largeAlloc (0.61s)">
<text text-anchor="middle" x="677.5" y="-416.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 0.61s</text>
</a>
</g>
</g>
<!-- N56&#45;&gt;N13 -->
<g id="edge1" class="edge">
<title>N56&#45;&gt;N13</title>
<g id="a_edge1"><a xlink:title="testing.(*B).runN &#45;&gt; github.com/shanemhansen/brotlibench.BenchmarkCompressBrotli.func1 (21.23s)">
<path fill="none" stroke="#b20100" stroke-width="5" d="M1159.5,-2843.9177C1159.5,-2831.9644 1159.5,-2816.8865 1159.5,-2803.2199"/>
<polygon fill="#b20100" stroke="#b20100" stroke-width="5" points="1163.8751,-2803.1192 1159.5,-2793.1192 1155.1251,-2803.1193 1163.8751,-2803.1192"/>
</a>
</g>
<g id="a_edge1&#45;label"><a xlink:title="testing.(*B).runN &#45;&gt; github.com/shanemhansen/brotlibench.BenchmarkCompressBrotli.func1 (21.23s)">
<text text-anchor="middle" x="1179.5" y="-2814.8" font-family="Times,serif" font-size="14.00" fill="#000000"> 21.23s</text>
</a>
</g>
</g>
</g>
</g></svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment