Skip to content

Instantly share code, notes, and snippets.

@abraithwaite
Created August 25, 2016 21:54
Show Gist options
  • Save abraithwaite/a8876d351edf16bc052cd6b5acdaa330 to your computer and use it in GitHub Desktop.
Save abraithwaite/a8876d351edf16bc052cd6b5acdaa330 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.38.0 (20140413.2041)
-->
<!-- Title: go_serialization_benchmarks.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 1636)">
<title>go_serialization_benchmarks.test</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1636 7474,-1636 7474,4 -4,4"/>
<g id="clust1" class="cluster"><title>cluster_L</title>
<polygon fill="none" stroke="black" points="3876,-1425 3876,-1624 4720,-1624 4720,-1425 3876,-1425"/>
</g>
<!-- L -->
<g id="node1" class="node"><title>L</title>
<polygon fill="#f8f8f8" stroke="black" points="4711.5,-1616 3884.5,-1616 3884.5,-1433 4711.5,-1433 4711.5,-1616"/>
<text text-anchor="start" x="3892.5" y="-1586.4" font-family="Times,serif" font-size="32.00">File: go_serialization_benchmarks.test</text>
<text text-anchor="start" x="3892.5" y="-1551.4" font-family="Times,serif" font-size="32.00">Type: cpu</text>
<text text-anchor="start" x="3892.5" y="-1516.4" font-family="Times,serif" font-size="32.00">4.43s of 5.01s total (88.42%)</text>
<text text-anchor="start" x="3892.5" y="-1481.4" font-family="Times,serif" font-size="32.00">Dropped 77 nodes (cum &lt;= 0.03s)</text>
<text text-anchor="start" x="3892.5" y="-1446.4" font-family="Times,serif" font-size="32.00">Showing top 80 nodes out of 100 (cum &gt;= 0.04s)</text>
</g>
<!-- N1 -->
<g id="node2" class="node"><title>N1</title>
<g id="a_node2"><a xlink:title="runtime.goexit (4.87s)">
<polygon fill="#f8f8f8" stroke="black" points="4824,-1542.5 4730,-1542.5 4730,-1506.5 4824,-1506.5 4824,-1542.5"/>
<text text-anchor="middle" x="4777" y="-1527.1" font-family="Times,serif" font-size="8.00">runtime.goexit</text>
<text text-anchor="middle" x="4777" y="-1518.1" font-family="Times,serif" font-size="8.00">0 of 4.87s(97.21%)</text>
</a>
</g>
</g>
<!-- N2 -->
<g id="node3" class="node"><title>N2</title>
<g id="a_node3"><a xlink:title="testing.(*B).runN (4.48s)">
<polygon fill="#f8f8f8" stroke="black" points="4824,-1378 4730,-1378 4730,-1342 4824,-1342 4824,-1378"/>
<text text-anchor="middle" x="4777" y="-1362.6" font-family="Times,serif" font-size="8.00">testing.(*B).runN</text>
<text text-anchor="middle" x="4777" y="-1353.6" font-family="Times,serif" font-size="8.00">0 of 4.48s(89.42%)</text>
</a>
</g>
</g>
<!-- N1&#45;&gt;N2 -->
<g id="edge1" class="edge"><title>N1&#45;&gt;N2</title>
<g id="a_edge1"><a xlink:title="runtime.goexit ... testing.(*B).runN (4.48s)">
<path fill="none" stroke="black" stroke-width="5" stroke-dasharray="1,5" d="M4777,-1506.42C4777,-1478.33 4777,-1422.15 4777,-1388.44"/>
<polygon fill="black" stroke="black" stroke-width="5" points="4781.38,-1388.34 4777,-1378.34 4772.63,-1388.34 4781.38,-1388.34"/>
</a>
</g>
<g id="a_edge1&#45;label"><a xlink:title="runtime.goexit ... testing.(*B).runN (4.48s)">
<text text-anchor="middle" x="4799" y="-1403.8" font-family="Times,serif" font-size="14.00"> 4.48s</text>
</a>
</g>
</g>
<!-- N24 -->
<g id="node25" class="node"><title>N24</title>
<g id="a_node25"><a xlink:title="runtime.gcDrain (0.33s)">
<polygon fill="#f8f8f8" stroke="black" points="4955.5,-1382 4842.5,-1382 4842.5,-1338 4955.5,-1338 4955.5,-1382"/>
<text text-anchor="middle" x="4899" y="-1369.2" font-family="Times,serif" font-size="11.00">runtime.gcDrain</text>
<text text-anchor="middle" x="4899" y="-1357.2" font-family="Times,serif" font-size="11.00">0.02s(0.4%)</text>
<text text-anchor="middle" x="4899" y="-1345.2" font-family="Times,serif" font-size="11.00">of 0.33s(6.59%)</text>
</a>
</g>
</g>
<!-- N1&#45;&gt;N24 -->
<g id="edge18" class="edge"><title>N1&#45;&gt;N24</title>
<g id="a_edge18"><a xlink:title="runtime.goexit ... runtime.gcDrain (0.32s)">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M4789.83,-1506.42C4810.52,-1478.85 4851.54,-1424.22 4876.98,-1390.33"/>
<polygon fill="black" stroke="black" points="4879.89,-1392.29 4883.09,-1382.19 4874.29,-1388.08 4879.89,-1392.29"/>
</a>
</g>
<g id="a_edge18&#45;label"><a xlink:title="runtime.goexit ... runtime.gcDrain (0.32s)">
<text text-anchor="middle" x="4892" y="-1403.8" font-family="Times,serif" font-size="14.00"> 0.32s</text>
</a>
</g>
</g>
<!-- N69 -->
<g id="node70" class="node"><title>N69</title>
<g id="a_node70"><a xlink:title="runtime.bgsweep (0.05s)">
<polygon fill="#f8f8f8" stroke="black" points="5069.5,-1378 4980.5,-1378 4980.5,-1342 5069.5,-1342 5069.5,-1378"/>
<text text-anchor="middle" x="5025" y="-1362.6" font-family="Times,serif" font-size="8.00">runtime.bgsweep</text>
<text text-anchor="middle" x="5025" y="-1353.6" font-family="Times,serif" font-size="8.00">0 of 0.05s(1%)</text>
</a>
</g>
</g>
<!-- N1&#45;&gt;N69 -->
<g id="edge91" class="edge"><title>N1&#45;&gt;N69</title>
<g id="a_edge91"><a xlink:title="runtime.goexit &#45;&gt; runtime.bgsweep (0.05s)">
<path fill="none" stroke="black" d="M4803.07,-1506.42C4848,-1476.98 4940.04,-1416.67 4990.32,-1383.72"/>
<polygon fill="black" stroke="black" points="4992.46,-1386.51 4998.91,-1378.1 4988.62,-1380.65 4992.46,-1386.51"/>
</a>
</g>
<g id="a_edge91&#45;label"><a xlink:title="runtime.goexit &#45;&gt; runtime.bgsweep (0.05s)">
<text text-anchor="middle" x="4988" y="-1403.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N3 -->
<g id="node4" class="node"><title>N3</title>
<g id="a_node4"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchUnmarshal (2.56s)">
<polygon fill="#f8f8f8" stroke="black" points="5018,-1281 4536,-1281 4536,-1231 5018,-1231 5018,-1281"/>
<text text-anchor="middle" x="4777" y="-1266.6" font-family="Times,serif" font-size="13.00">github.com/alecthomas/go_serialization_benchmarks.benchUnmarshal</text>
<text text-anchor="middle" x="4777" y="-1252.6" font-family="Times,serif" font-size="13.00">0.08s(1.60%)</text>
<text text-anchor="middle" x="4777" y="-1238.6" font-family="Times,serif" font-size="13.00">of 2.56s(51.10%)</text>
</a>
</g>
</g>
<!-- N2&#45;&gt;N3 -->
<g id="edge2" class="edge"><title>N2&#45;&gt;N3</title>
<g id="a_edge2"><a xlink:title="testing.(*B).runN ... github.com/alecthomas/go_serialization_benchmarks.benchUnmarshal (2.56s)">
<path fill="none" stroke="black" stroke-width="3" stroke-dasharray="1,5" d="M4777,-1341.7C4777,-1327.95 4777,-1308.3 4777,-1291.38"/>
<polygon fill="black" stroke="black" stroke-width="3" points="4780.5,-1291.28 4777,-1281.28 4773.5,-1291.28 4780.5,-1291.28"/>
</a>
</g>
<g id="a_edge2&#45;label"><a xlink:title="testing.(*B).runN ... github.com/alecthomas/go_serialization_benchmarks.benchUnmarshal (2.56s)">
<text text-anchor="middle" x="4799" y="-1308.8" font-family="Times,serif" font-size="14.00"> 2.56s</text>
</a>
</g>
</g>
<!-- N5 -->
<g id="node6" class="node"><title>N5</title>
<g id="a_node6"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchMarshal (1.92s)">
<polygon fill="#f8f8f8" stroke="black" points="4518.5,-1276.5 4175.5,-1276.5 4175.5,-1235.5 4518.5,-1235.5 4518.5,-1276.5"/>
<text text-anchor="middle" x="4347" y="-1264.5" font-family="Times,serif" font-size="10.00">github.com/alecthomas/go_serialization_benchmarks.benchMarshal</text>
<text text-anchor="middle" x="4347" y="-1253.5" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="4347" y="-1242.5" font-family="Times,serif" font-size="10.00">of 1.92s(38.32%)</text>
</a>
</g>
</g>
<!-- N2&#45;&gt;N5 -->
<g id="edge4" class="edge"><title>N2&#45;&gt;N5</title>
<g id="a_edge4"><a xlink:title="testing.(*B).runN ... github.com/alecthomas/go_serialization_benchmarks.benchMarshal (1.92s)">
<path fill="none" stroke="black" stroke-width="2" stroke-dasharray="1,5" d="M4729.75,-1347.79C4660.15,-1331.28 4528.67,-1300.09 4439.46,-1278.93"/>
<polygon fill="black" stroke="black" stroke-width="2" points="4440.14,-1275.5 4429.61,-1276.6 4438.53,-1282.31 4440.14,-1275.5"/>
</a>
</g>
<g id="a_edge4&#45;label"><a xlink:title="testing.(*B).runN ... github.com/alecthomas/go_serialization_benchmarks.benchMarshal (1.92s)">
<text text-anchor="middle" x="4623" y="-1308.8" font-family="Times,serif" font-size="14.00"> 1.92s</text>
</a>
</g>
</g>
<!-- N4 -->
<g id="node5" class="node"><title>N4</title>
<g id="a_node5"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal (2.22s)">
<polygon fill="#f8f8f8" stroke="black" points="5122.5,-1174 4431.5,-1174 4431.5,-1115 5122.5,-1115 5122.5,-1174"/>
<text text-anchor="middle" x="4777" y="-1158" font-family="Times,serif" font-size="15.00">github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal</text>
<text text-anchor="middle" x="4777" y="-1141" font-family="Times,serif" font-size="15.00">0.13s(2.59%)</text>
<text text-anchor="middle" x="4777" y="-1124" font-family="Times,serif" font-size="15.00">of 2.22s(44.31%)</text>
</a>
</g>
</g>
<!-- N3&#45;&gt;N4 -->
<g id="edge3" class="edge"><title>N3&#45;&gt;N4</title>
<g id="a_edge3"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchUnmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal (2.22s)">
<path fill="none" stroke="black" stroke-width="3" d="M4777,-1230.97C4777,-1217.36 4777,-1200.01 4777,-1184.51"/>
<polygon fill="black" stroke="black" stroke-width="3" points="4780.5,-1184.13 4777,-1174.13 4773.5,-1184.13 4780.5,-1184.13"/>
</a>
</g>
<g id="a_edge3&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchUnmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal (2.22s)">
<text text-anchor="middle" x="4799" y="-1195.8" font-family="Times,serif" font-size="14.00"> 2.22s</text>
</a>
</g>
</g>
<!-- N6 -->
<g id="node7" class="node"><title>N6</title>
<g id="a_node7"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal (1.84s)">
<polygon fill="#f8f8f8" stroke="black" points="4413,-1169.5 3825,-1169.5 3825,-1119.5 4413,-1119.5 4413,-1169.5"/>
<text text-anchor="middle" x="4119" y="-1155.1" font-family="Times,serif" font-size="13.00">github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal</text>
<text text-anchor="middle" x="4119" y="-1141.1" font-family="Times,serif" font-size="13.00">0.06s(1.20%)</text>
<text text-anchor="middle" x="4119" y="-1127.1" font-family="Times,serif" font-size="13.00">of 1.84s(36.73%)</text>
</a>
</g>
</g>
<!-- N3&#45;&gt;N6 -->
<g id="edge122" class="edge"><title>N3&#45;&gt;N6</title>
<g id="a_edge122"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchUnmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal (0.01s)">
<path fill="none" stroke="black" d="M4632.6,-1230.97C4526.3,-1213.28 4382,-1189.27 4273.41,-1171.2"/>
<polygon fill="black" stroke="black" points="4273.79,-1167.71 4263.35,-1169.52 4272.64,-1174.62 4273.79,-1167.71"/>
</a>
</g>
<g id="a_edge122&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchUnmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal (0.01s)">
<text text-anchor="middle" x="4510" y="-1195.8" font-family="Times,serif" font-size="14.00"> 0.01s</text>
</a>
</g>
</g>
<!-- N16 -->
<g id="node17" class="node"><title>N16</title>
<g id="a_node17"><a xlink:title="runtime.newobject (0.44s)">
<polygon fill="#f8f8f8" stroke="black" points="6747,-850 6641,-850 6641,-809 6747,-809 6747,-850"/>
<text text-anchor="middle" x="6694" y="-838" font-family="Times,serif" font-size="10.00">runtime.newobject</text>
<text text-anchor="middle" x="6694" y="-827" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="6694" y="-816" font-family="Times,serif" font-size="10.00">of 0.44s(8.78%)</text>
</a>
</g>
</g>
<!-- N3&#45;&gt;N16 -->
<g id="edge43" class="edge"><title>N3&#45;&gt;N16</title>
<g id="a_edge43"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchUnmarshal &#45;&gt; runtime.newobject (0.13s)">
<path fill="none" stroke="black" d="M4962.84,-1230.99C4984.45,-1228.7 5006.19,-1226.63 5027,-1225 5086,-1220.37 7156,-1204.68 7156,-1145.5 7156,-1145.5 7156,-1145.5 7156,-928 7156,-847.569 6884.54,-833.156 6757.79,-830.81"/>
<polygon fill="black" stroke="black" points="6757.5,-827.305 6747.45,-830.639 6757.39,-834.304 6757.5,-827.305"/>
</a>
</g>
<g id="a_edge43&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchUnmarshal &#45;&gt; runtime.newobject (0.13s)">
<text text-anchor="middle" x="7178" y="-1030.8" font-family="Times,serif" font-size="14.00"> 0.13s</text>
</a>
</g>
</g>
<!-- N38 -->
<g id="node39" class="node"><title>N38</title>
<g id="a_node39"><a xlink:title="math/rand.Intn (0.19s)">
<polygon fill="#f8f8f8" stroke="black" points="5233,-1165 5141,-1165 5141,-1124 5233,-1124 5233,-1165"/>
<text text-anchor="middle" x="5187" y="-1153" font-family="Times,serif" font-size="10.00">math/rand.Intn</text>
<text text-anchor="middle" x="5187" y="-1142" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="5187" y="-1131" font-family="Times,serif" font-size="10.00">of 0.19s(3.79%)</text>
</a>
</g>
</g>
<!-- N3&#45;&gt;N38 -->
<g id="edge49" class="edge"><title>N3&#45;&gt;N38</title>
<g id="a_edge49"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchUnmarshal &#45;&gt; math/rand.Intn (0.12s)">
<path fill="none" stroke="black" d="M4918.41,-1230.93C4984.14,-1217.65 5062.69,-1198.77 5131,-1174 5134.76,-1172.64 5138.59,-1171.08 5142.39,-1169.41"/>
<polygon fill="black" stroke="black" points="5144.13,-1172.47 5151.74,-1165.09 5141.19,-1166.11 5144.13,-1172.47"/>
</a>
</g>
<g id="a_edge49&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchUnmarshal &#45;&gt; math/rand.Intn (0.12s)">
<text text-anchor="middle" x="5097" y="-1195.8" font-family="Times,serif" font-size="14.00"> 0.12s</text>
</a>
</g>
</g>
<!-- N8 -->
<g id="node9" class="node"><title>N8</title>
<g id="a_node9"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.ReadRootCapnp2A (0.86s)">
<polygon fill="#f8f8f8" stroke="black" points="3842.5,-1058 3367.5,-1058 3367.5,-1011 3842.5,-1011 3842.5,-1058"/>
<text text-anchor="middle" x="3605" y="-1044.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks.ReadRootCapnp2A</text>
<text text-anchor="middle" x="3605" y="-1031.4" font-family="Times,serif" font-size="12.00">0.04s(0.8%)</text>
<text text-anchor="middle" x="3605" y="-1018.4" font-family="Times,serif" font-size="12.00">of 0.86s(17.17%)</text>
</a>
</g>
</g>
<!-- N4&#45;&gt;N8 -->
<g id="edge6" class="edge"><title>N4&#45;&gt;N8</title>
<g id="a_edge6"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.ReadRootCapnp2A (0.86s)">
<path fill="none" stroke="black" d="M4431.29,-1115.73C4428.18,-1115.48 4425.08,-1115.24 4422,-1115 4369.79,-1110.9 4236.6,-1113.83 4187,-1097 4175.44,-1093.08 4175.59,-1085.82 4164,-1082 4099.09,-1060.62 3925.09,-1069.84 3857,-1064 3839.95,-1062.54 3822.26,-1060.86 3804.53,-1059.07"/>
<polygon fill="black" stroke="black" points="3804.4,-1055.54 3794.09,-1058 3803.69,-1062.5 3804.4,-1055.54"/>
</a>
</g>
<g id="a_edge6&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.ReadRootCapnp2A (0.86s)">
<text text-anchor="middle" x="4209" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.86s</text>
</a>
</g>
</g>
<!-- N9 -->
<g id="node10" class="node"><title>N9</title>
<g id="a_node10"><a xlink:title="runtime.duffcopy (0.83s)">
<polygon fill="#f8f8f8" stroke="black" points="2809.5,-547.5 2584.5,-547.5 2584.5,-487.5 2809.5,-487.5 2809.5,-547.5"/>
<text text-anchor="middle" x="2697" y="-524.3" font-family="Times,serif" font-size="24.00">runtime.duffcopy</text>
<text text-anchor="middle" x="2697" y="-498.3" font-family="Times,serif" font-size="24.00">0.83s(16.57%)</text>
</a>
</g>
</g>
<!-- N4&#45;&gt;N9 -->
<g id="edge83" class="edge"><title>N4&#45;&gt;N9</title>
<g id="a_edge83"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal &#45;&gt; runtime.duffcopy (0.05s)">
<path fill="none" stroke="black" d="M4583.95,-1114.98C4496.78,-1103.06 4392.39,-1090.13 4298,-1082 4275.39,-1080.05 3905.69,-1080.39 3890,-1064 3840.83,-1012.62 3940.7,-955.823 3892,-904 3876.35,-887.35 3086.65,-869.65 3071,-853 3032.3,-811.819 3120.72,-748.309 3137,-684 3148.14,-640.005 3126.09,-591.656 3100,-571 3057.71,-537.516 2922.16,-525.302 2819.85,-520.894"/>
<polygon fill="black" stroke="black" points="2819.88,-517.393 2809.74,-520.479 2819.59,-524.387 2819.88,-517.393"/>
</a>
</g>
<g id="a_edge83&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal &#45;&gt; runtime.duffcopy (0.05s)">
<text text-anchor="middle" x="3093" y="-825.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N13 -->
<g id="node14" class="node"><title>N13</title>
<g id="a_node14"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Unmarshal (0.57s)">
<polygon fill="#f8f8f8" stroke="black" points="6791.5,-1064 6000.5,-1064 6000.5,-1005 6791.5,-1005 6791.5,-1064"/>
<text text-anchor="middle" x="6396" y="-1048" font-family="Times,serif" font-size="15.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Unmarshal</text>
<text text-anchor="middle" x="6396" y="-1031" font-family="Times,serif" font-size="15.00">0.12s(2.40%)</text>
<text text-anchor="middle" x="6396" y="-1014" font-family="Times,serif" font-size="15.00">of 0.57s(11.38%)</text>
</a>
</g>
</g>
<!-- N4&#45;&gt;N13 -->
<g id="edge10" class="edge"><title>N4&#45;&gt;N13</title>
<g id="a_edge10"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Unmarshal (0.57s)">
<path fill="none" stroke="black" d="M5122.7,-1115.51C5125.81,-1115.33 5128.91,-1115.17 5132,-1115 5429.9,-1099.06 5505.3,-1116.4 5803,-1097 5917.68,-1089.53 6044.44,-1076.97 6151.22,-1065.14"/>
<polygon fill="black" stroke="black" points="6151.61,-1068.62 6161.16,-1064.03 6150.83,-1061.66 6151.61,-1068.62"/>
</a>
</g>
<g id="a_edge10&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Unmarshal (0.57s)">
<text text-anchor="middle" x="6005" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.57s</text>
</a>
</g>
</g>
<!-- N23 -->
<g id="node24" class="node"><title>N23</title>
<g id="a_node24"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Phone (0.33s)">
<polygon fill="#f8f8f8" stroke="black" points="4953,-1055 4601,-1055 4601,-1014 4953,-1014 4953,-1055"/>
<text text-anchor="middle" x="4777" y="-1043" font-family="Times,serif" font-size="10.00">github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Phone</text>
<text text-anchor="middle" x="4777" y="-1032" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="4777" y="-1021" font-family="Times,serif" font-size="10.00">of 0.33s(6.59%)</text>
</a>
</g>
</g>
<!-- N4&#45;&gt;N23 -->
<g id="edge16" class="edge"><title>N4&#45;&gt;N23</title>
<g id="a_edge16"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Phone (0.33s)">
<path fill="none" stroke="black" d="M4777,-1114.84C4777,-1099.51 4777,-1080.65 4777,-1065.16"/>
<polygon fill="black" stroke="black" points="4780.5,-1065.07 4777,-1055.07 4773.5,-1065.07 4780.5,-1065.07"/>
</a>
</g>
<g id="a_edge16&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Phone (0.33s)">
<text text-anchor="middle" x="4799" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.33s</text>
</a>
</g>
</g>
<!-- N27 -->
<g id="node28" class="node"><title>N27</title>
<g id="a_node28"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Name (0.28s)">
<polygon fill="#f8f8f8" stroke="black" points="5322.5,-1055 4971.5,-1055 4971.5,-1014 5322.5,-1014 5322.5,-1055"/>
<text text-anchor="middle" x="5147" y="-1043" font-family="Times,serif" font-size="10.00">github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Name</text>
<text text-anchor="middle" x="5147" y="-1032" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="5147" y="-1021" font-family="Times,serif" font-size="10.00">of 0.28s(5.59%)</text>
</a>
</g>
</g>
<!-- N4&#45;&gt;N27 -->
<g id="edge22" class="edge"><title>N4&#45;&gt;N27</title>
<g id="a_edge22"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Name (0.28s)">
<path fill="none" stroke="black" d="M4874.7,-1114.98C4935.92,-1097.11 5013.7,-1074.41 5070.44,-1057.85"/>
<polygon fill="black" stroke="black" points="5071.45,-1061.2 5080.07,-1055.04 5069.49,-1054.48 5071.45,-1061.2"/>
</a>
</g>
<g id="a_edge22&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Unmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Name (0.28s)">
<text text-anchor="middle" x="5007" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.28s</text>
</a>
</g>
</g>
<!-- N5&#45;&gt;N6 -->
<g id="edge5" class="edge"><title>N5&#45;&gt;N6</title>
<g id="a_edge5"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchMarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal (1.83s)">
<path fill="none" stroke="black" stroke-width="2" d="M4298.92,-1235.42C4278.98,-1227.04 4255.71,-1216.91 4235,-1207 4213.87,-1196.89 4191.01,-1184.99 4171.22,-1174.36"/>
<polygon fill="black" stroke="black" stroke-width="2" points="4172.82,-1171.25 4162.36,-1169.58 4169.49,-1177.41 4172.82,-1171.25"/>
</a>
</g>
<g id="a_edge5&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchMarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal (1.83s)">
<text text-anchor="middle" x="4257" y="-1195.8" font-family="Times,serif" font-size="14.00"> 1.83s</text>
</a>
</g>
</g>
<!-- N5&#45;&gt;N38 -->
<g id="edge73" class="edge"><title>N5&#45;&gt;N38</title>
<g id="a_edge73"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchMarshal &#45;&gt; math/rand.Intn (0.07s)">
<path fill="none" stroke="black" d="M4463.67,-1235.5C4484.75,-1231.99 4506.53,-1228.38 4527,-1225 4616.75,-1210.19 4638.52,-1201.38 4729,-1192 4817.95,-1182.78 5044.53,-1196.79 5131,-1174 5135.63,-1172.78 5140.33,-1171.14 5144.92,-1169.25"/>
<polygon fill="black" stroke="black" points="5146.47,-1172.4 5154.17,-1165.11 5143.61,-1166.01 5146.47,-1172.4"/>
</a>
</g>
<g id="a_edge73&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.benchMarshal &#45;&gt; math/rand.Intn (0.07s)">
<text text-anchor="middle" x="4751" y="-1195.8" font-family="Times,serif" font-size="14.00"> 0.07s</text>
</a>
</g>
</g>
<!-- N6&#45;&gt;N9 -->
<g id="edge59" class="edge"><title>N6&#45;&gt;N9</title>
<g id="a_edge59"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; runtime.duffcopy (0.09s)">
<path fill="none" stroke="black" d="M3824.69,-1142.6C2945.32,-1138.97 398,-1121.06 398,-1035.5 398,-1035.5 398,-1035.5 398,-877.5 398,-710.078 453.194,-605.612 617,-571 807.797,-530.685 2156.7,-521.028 2574.17,-518.993"/>
<polygon fill="black" stroke="black" points="2574.47,-522.491 2584.46,-518.943 2574.44,-515.491 2574.47,-522.491"/>
</a>
</g>
<g id="a_edge59&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; runtime.duffcopy (0.09s)">
<text text-anchor="middle" x="424" y="-825.8" font-family="Times,serif" font-size="14.00"> 0.09s</text>
</a>
</g>
</g>
<!-- N19 -->
<g id="node20" class="node"><title>N19</title>
<g id="a_node20"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetName (0.38s)">
<polygon fill="#f8f8f8" stroke="black" points="1731,-1058 1257,-1058 1257,-1011 1731,-1011 1731,-1058"/>
<text text-anchor="middle" x="1494" y="-1044.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetName</text>
<text text-anchor="middle" x="1494" y="-1031.4" font-family="Times,serif" font-size="12.00">0.04s(0.8%)</text>
<text text-anchor="middle" x="1494" y="-1018.4" font-family="Times,serif" font-size="12.00">of 0.38s(7.58%)</text>
</a>
</g>
</g>
<!-- N6&#45;&gt;N19 -->
<g id="edge14" class="edge"><title>N6&#45;&gt;N19</title>
<g id="a_edge14"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetName (0.38s)">
<path fill="none" stroke="black" d="M3824.94,-1141.84C3376.65,-1137.47 2495.71,-1121.57 1750,-1064 1731.59,-1062.58 1712.45,-1060.87 1693.3,-1059.01"/>
<polygon fill="black" stroke="black" points="1693.59,-1055.53 1683.3,-1058.03 1692.9,-1062.49 1693.59,-1055.53"/>
</a>
</g>
<g id="a_edge14&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetName (0.38s)">
<text text-anchor="middle" x="2291" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.38s</text>
</a>
</g>
</g>
<!-- N20 -->
<g id="node21" class="node"><title>N20</title>
<g id="a_node21"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewRootStruct (0.38s)">
<polygon fill="#f8f8f8" stroke="black" points="2960.5,-1058 2265.5,-1058 2265.5,-1011 2960.5,-1011 2960.5,-1058"/>
<text text-anchor="middle" x="2613" y="-1044.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewRootStruct</text>
<text text-anchor="middle" x="2613" y="-1031.4" font-family="Times,serif" font-size="12.00">0.05s(1%)</text>
<text text-anchor="middle" x="2613" y="-1018.4" font-family="Times,serif" font-size="12.00">of 0.38s(7.58%)</text>
</a>
</g>
</g>
<!-- N6&#45;&gt;N20 -->
<g id="edge15" class="edge"><title>N6&#45;&gt;N20</title>
<g id="a_edge15"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal ... github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewRootStruct (0.38s)">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M3824.99,-1124.06C3592.59,-1108.48 3260.01,-1085.71 2969,-1064 2946.78,-1062.34 2923.79,-1060.59 2900.67,-1058.8"/>
<polygon fill="black" stroke="black" points="2900.65,-1055.29 2890.4,-1058 2900.1,-1062.27 2900.65,-1055.29"/>
</a>
</g>
<g id="a_edge15&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal ... github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewRootStruct (0.38s)">
<text text-anchor="middle" x="3434" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.38s</text>
</a>
</g>
</g>
<!-- N26 -->
<g id="node27" class="node"><title>N26</title>
<g id="a_node27"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Marshal (0.30s)">
<polygon fill="#f8f8f8" stroke="black" points="5833.5,-1052.5 5340.5,-1052.5 5340.5,-1016.5 5833.5,-1016.5 5833.5,-1052.5"/>
<text text-anchor="middle" x="5587" y="-1037.1" font-family="Times,serif" font-size="8.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Marshal</text>
<text text-anchor="middle" x="5587" y="-1028.1" font-family="Times,serif" font-size="8.00">0 of 0.30s(5.99%)</text>
</a>
</g>
</g>
<!-- N6&#45;&gt;N26 -->
<g id="edge19" class="edge"><title>N6&#45;&gt;N26</title>
<g id="a_edge19"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Marshal (0.30s)">
<path fill="none" stroke="black" d="M4321.34,-1119.48C4439.95,-1106.31 4592.78,-1090.89 4729,-1082 4996.11,-1064.56 5063.99,-1082.82 5331,-1064 5367.19,-1061.45 5406.15,-1057.65 5442.49,-1053.66"/>
<polygon fill="black" stroke="black" points="5443.11,-1057.11 5452.66,-1052.53 5442.34,-1050.15 5443.11,-1057.11"/>
</a>
</g>
<g id="a_edge19&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Marshal (0.30s)">
<text text-anchor="middle" x="4751" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.30s</text>
</a>
</g>
</g>
<!-- N28 -->
<g id="node29" class="node"><title>N28</title>
<g id="a_node29"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewMessage (0.28s)">
<polygon fill="#f8f8f8" stroke="black" points="4582.5,-1058 3899.5,-1058 3899.5,-1011 4582.5,-1011 4582.5,-1058"/>
<text text-anchor="middle" x="4241" y="-1044.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewMessage</text>
<text text-anchor="middle" x="4241" y="-1031.4" font-family="Times,serif" font-size="12.00">0.03s(0.6%)</text>
<text text-anchor="middle" x="4241" y="-1018.4" font-family="Times,serif" font-size="12.00">of 0.28s(5.59%)</text>
</a>
</g>
</g>
<!-- N6&#45;&gt;N28 -->
<g id="edge21" class="edge"><title>N6&#45;&gt;N28</title>
<g id="a_edge21"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewMessage (0.28s)">
<path fill="none" stroke="black" d="M4113.4,-1119.37C4111.96,-1107.15 4112.54,-1092.68 4120,-1082 4125,-1074.84 4131.27,-1068.78 4138.31,-1063.66"/>
<polygon fill="black" stroke="black" points="4140.42,-1066.46 4146.89,-1058.06 4136.6,-1060.59 4140.42,-1066.46"/>
</a>
</g>
<g id="a_edge21&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewMessage (0.28s)">
<text text-anchor="middle" x="4142" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.28s</text>
</a>
</g>
</g>
<!-- N32 -->
<g id="node33" class="node"><title>N32</title>
<g id="a_node33"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetPhone (0.23s)">
<polygon fill="#f8f8f8" stroke="black" points="2237,-1058 1759,-1058 1759,-1011 2237,-1011 2237,-1058"/>
<text text-anchor="middle" x="1998" y="-1044.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetPhone</text>
<text text-anchor="middle" x="1998" y="-1031.4" font-family="Times,serif" font-size="12.00">0.04s(0.8%)</text>
<text text-anchor="middle" x="1998" y="-1018.4" font-family="Times,serif" font-size="12.00">of 0.23s(4.59%)</text>
</a>
</g>
</g>
<!-- N6&#45;&gt;N32 -->
<g id="edge26" class="edge"><title>N6&#45;&gt;N32</title>
<g id="a_edge26"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetPhone (0.23s)">
<path fill="none" stroke="black" d="M3824.61,-1137.06C3457.08,-1127.61 2809.38,-1106.32 2256,-1064 2237.44,-1062.58 2218.16,-1060.88 2198.86,-1059.02"/>
<polygon fill="black" stroke="black" points="2199.07,-1055.52 2188.78,-1058.03 2198.39,-1062.49 2199.07,-1055.52"/>
</a>
</g>
<g id="a_edge26&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetPhone (0.23s)">
<text text-anchor="middle" x="2790" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.23s</text>
</a>
</g>
</g>
<!-- N67 -->
<g id="node68" class="node"><title>N67</title>
<g id="a_node68"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetSpouse (0.05s)">
<polygon fill="#f8f8f8" stroke="black" points="3350,-1055 2978,-1055 2978,-1014 3350,-1014 3350,-1055"/>
<text text-anchor="middle" x="3164" y="-1043" font-family="Times,serif" font-size="10.00">github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetSpouse</text>
<text text-anchor="middle" x="3164" y="-1032" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="3164" y="-1021" font-family="Times,serif" font-size="10.00">of 0.05s(1%)</text>
</a>
</g>
</g>
<!-- N6&#45;&gt;N67 -->
<g id="edge82" class="edge"><title>N6&#45;&gt;N67</title>
<g id="a_edge82"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetSpouse (0.05s)">
<path fill="none" stroke="black" d="M3863.29,-1119.48C3715.47,-1104.91 3526.05,-1085.11 3358,-1064 3339.66,-1061.7 3320.38,-1059.09 3301.38,-1056.41"/>
<polygon fill="black" stroke="black" points="3301.86,-1052.94 3291.47,-1055 3300.88,-1059.87 3301.86,-1052.94"/>
</a>
</g>
<g id="a_edge82&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetSpouse (0.05s)">
<text text-anchor="middle" x="3652" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N75 -->
<g id="node76" class="node"><title>N75</title>
<g id="a_node76"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetMoney (0.04s)">
<polygon fill="#f8f8f8" stroke="black" points="370,-1055 2.84217e-14,-1055 2.84217e-14,-1014 370,-1014 370,-1055"/>
<text text-anchor="middle" x="185" y="-1043" font-family="Times,serif" font-size="10.00">github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetMoney</text>
<text text-anchor="middle" x="185" y="-1032" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="185" y="-1021" font-family="Times,serif" font-size="10.00">of 0.04s(0.8%)</text>
</a>
</g>
</g>
<!-- N6&#45;&gt;N75 -->
<g id="edge96" class="edge"><title>N6&#45;&gt;N75</title>
<g id="a_edge96"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetMoney (0.04s)">
<path fill="none" stroke="black" d="M3824.72,-1142.8C2965.44,-1140.37 509.723,-1130.52 340,-1097 302.455,-1089.58 262.354,-1073.43 232.349,-1059.54"/>
<polygon fill="black" stroke="black" points="233.515,-1056.22 222.978,-1055.12 230.531,-1062.55 233.515,-1056.22"/>
</a>
</g>
<g id="a_edge96&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.(*CapNProto2Serializer).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetMoney (0.04s)">
<text text-anchor="middle" x="362" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N7 -->
<g id="node8" class="node"><title>N7</title>
<g id="a_node8"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr (0.93s)">
<polygon fill="#f8f8f8" stroke="black" points="5533,-755 4715,-755 4715,-702 5533,-702 5533,-755"/>
<text text-anchor="middle" x="5124" y="-739.8" font-family="Times,serif" font-size="14.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr</text>
<text text-anchor="middle" x="5124" y="-724.8" font-family="Times,serif" font-size="14.00">0.09s(1.80%)</text>
<text text-anchor="middle" x="5124" y="-709.8" font-family="Times,serif" font-size="14.00">of 0.93s(18.56%)</text>
</a>
</g>
</g>
<!-- N7&#45;&gt;N9 -->
<g id="edge33" class="edge"><title>N7&#45;&gt;N9</title>
<g id="a_edge33"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr &#45;&gt; runtime.duffcopy (0.18s)">
<path fill="none" stroke="black" d="M4714.97,-715.662C4398.17,-704.086 4001.65,-683.411 3931,-651 3904.43,-638.813 3911.52,-616.291 3885,-604 3790.2,-560.061 3104.5,-532.206 2820.09,-522.428"/>
<polygon fill="black" stroke="black" points="2819.85,-518.918 2809.74,-522.074 2819.61,-525.914 2819.85,-518.918"/>
</a>
</g>
<g id="a_edge33&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr &#45;&gt; runtime.duffcopy (0.18s)">
<text text-anchor="middle" x="3953" y="-623.8" font-family="Times,serif" font-size="14.00"> 0.18s</text>
</a>
</g>
</g>
<!-- N15 -->
<g id="node16" class="node"><title>N15</title>
<g id="a_node16"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).ReadLimiter (0.46s)">
<polygon fill="#f8f8f8" stroke="black" points="6254.5,-651 5501.5,-651 5501.5,-604 6254.5,-604 6254.5,-651"/>
<text text-anchor="middle" x="5878" y="-637.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).ReadLimiter</text>
<text text-anchor="middle" x="5878" y="-624.4" font-family="Times,serif" font-size="12.00">0.05s(1%)</text>
<text text-anchor="middle" x="5878" y="-611.4" font-family="Times,serif" font-size="12.00">of 0.46s(9.18%)</text>
</a>
</g>
</g>
<!-- N7&#45;&gt;N15 -->
<g id="edge11" class="edge"><title>N7&#45;&gt;N15</title>
<g id="a_edge11"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).ReadLimiter (0.46s)">
<path fill="none" stroke="black" d="M5318.66,-701.941C5435.14,-686.647 5582.21,-667.337 5696.3,-652.357"/>
<polygon fill="black" stroke="black" points="5697.08,-655.785 5706.54,-651.012 5696.17,-648.844 5697.08,-655.785"/>
</a>
</g>
<g id="a_edge11&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).ReadLimiter (0.46s)">
<text text-anchor="middle" x="5591" y="-672.8" font-family="Times,serif" font-size="14.00"> 0.46s</text>
</a>
</g>
</g>
<!-- N56 -->
<g id="node57" class="node"><title>N56</title>
<g id="a_node57"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readListPtr (0.09s)">
<polygon fill="#f8f8f8" stroke="black" points="4713,-648 4139,-648 4139,-607 4713,-607 4713,-648"/>
<text text-anchor="middle" x="4426" y="-636" font-family="Times,serif" font-size="10.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readListPtr</text>
<text text-anchor="middle" x="4426" y="-625" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="4426" y="-614" font-family="Times,serif" font-size="10.00">of 0.09s(1.80%)</text>
</a>
</g>
</g>
<!-- N7&#45;&gt;N56 -->
<g id="edge62" class="edge"><title>N7&#45;&gt;N56</title>
<g id="a_edge62"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readListPtr (0.09s)">
<path fill="none" stroke="black" d="M4943.79,-701.941C4828.83,-685.635 4681.67,-664.763 4573.64,-649.441"/>
<polygon fill="black" stroke="black" points="4574.04,-645.961 4563.64,-648.022 4573.05,-652.892 4574.04,-645.961"/>
</a>
</g>
<g id="a_edge62&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readListPtr (0.09s)">
<text text-anchor="middle" x="4839" y="-672.8" font-family="Times,serif" font-size="14.00"> 0.09s</text>
</a>
</g>
</g>
<!-- N62 -->
<g id="node63" class="node"><title>N62</title>
<g id="a_node63"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*ReadLimiter).canRead (0.08s)">
<polygon fill="#f8f8f8" stroke="black" points="5483,-651 4731,-651 4731,-604 5483,-604 5483,-651"/>
<text text-anchor="middle" x="5107" y="-637.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*ReadLimiter).canRead</text>
<text text-anchor="middle" x="5107" y="-624.4" font-family="Times,serif" font-size="12.00">0.03s(0.6%)</text>
<text text-anchor="middle" x="5107" y="-611.4" font-family="Times,serif" font-size="12.00">of 0.08s(1.60%)</text>
</a>
</g>
</g>
<!-- N7&#45;&gt;N62 -->
<g id="edge70" class="edge"><title>N7&#45;&gt;N62</title>
<g id="a_edge70"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*ReadLimiter).canRead (0.08s)">
<path fill="none" stroke="black" d="M5119.58,-701.747C5117.45,-689.361 5114.88,-674.374 5112.61,-661.192"/>
<polygon fill="black" stroke="black" points="5116.02,-660.355 5110.88,-651.091 5109.12,-661.54 5116.02,-660.355"/>
</a>
</g>
<g id="a_edge70&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*ReadLimiter).canRead (0.08s)">
<text text-anchor="middle" x="5139" y="-672.8" font-family="Times,serif" font-size="14.00"> 0.08s</text>
</a>
</g>
</g>
<!-- N8&#45;&gt;N9 -->
<g id="edge112" class="edge"><title>N8&#45;&gt;N9</title>
<g id="a_edge112"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.ReadRootCapnp2A &#45;&gt; runtime.duffcopy (0.03s)">
<path fill="none" stroke="black" d="M3492.06,-1010.97C3437.74,-997.976 3372.51,-979.164 3317,-954 3280.18,-937.306 3278.23,-919.782 3241,-904 3145.4,-863.47 3103.27,-904.319 3013,-853 2978.1,-833.158 2803.17,-638.235 2729.64,-555.418"/>
<polygon fill="black" stroke="black" points="2732.1,-552.921 2722.85,-547.764 2726.87,-557.567 2732.1,-552.921"/>
</a>
</g>
<g id="a_edge112&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.ReadRootCapnp2A &#45;&gt; runtime.duffcopy (0.03s)">
<text text-anchor="middle" x="2965" y="-776.8" font-family="Times,serif" font-size="14.00"> 0.03s</text>
</a>
</g>
</g>
<!-- N10 -->
<g id="node11" class="node"><title>N10</title>
<g id="a_node11"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).RootPtr (0.79s)">
<polygon fill="#f8f8f8" stroke="black" points="3883.5,-949.5 3326.5,-949.5 3326.5,-908.5 3883.5,-908.5 3883.5,-949.5"/>
<text text-anchor="middle" x="3605" y="-937.5" font-family="Times,serif" font-size="10.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).RootPtr</text>
<text text-anchor="middle" x="3605" y="-926.5" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="3605" y="-915.5" font-family="Times,serif" font-size="10.00">of 0.79s(15.77%)</text>
</a>
</g>
</g>
<!-- N8&#45;&gt;N10 -->
<g id="edge7" class="edge"><title>N8&#45;&gt;N10</title>
<g id="a_edge7"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.ReadRootCapnp2A &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).RootPtr (0.79s)">
<path fill="none" stroke="black" d="M3605,-1010.79C3605,-995.752 3605,-975.883 3605,-959.612"/>
<polygon fill="black" stroke="black" points="3608.5,-959.526 3605,-949.526 3601.5,-959.526 3608.5,-959.526"/>
</a>
</g>
<g id="a_edge7&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.ReadRootCapnp2A &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).RootPtr (0.79s)">
<text text-anchor="middle" x="3627" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.79s</text>
</a>
</g>
</g>
<!-- N10&#45;&gt;N9 -->
<g id="edge114" class="edge"><title>N10&#45;&gt;N9</title>
<g id="a_edge114"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).RootPtr &#45;&gt; runtime.duffcopy (0.02s)">
<path fill="none" stroke="black" d="M3369.98,-908.5C3226.71,-894.595 3066.2,-874.598 3040,-853 3014.14,-831.677 3016,-815.02 3016,-781.5 3016,-781.5 3016,-781.5 3016,-626.5 3016,-594.744 2998.25,-587.311 2971,-571 2925.8,-543.944 2869.56,-530.401 2819.8,-523.773"/>
<polygon fill="black" stroke="black" points="2819.98,-520.268 2809.62,-522.5 2819.11,-527.213 2819.98,-520.268"/>
</a>
</g>
<g id="a_edge114&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).RootPtr &#45;&gt; runtime.duffcopy (0.02s)">
<text text-anchor="middle" x="3038" y="-724.8" font-family="Times,serif" font-size="14.00"> 0.02s</text>
</a>
</g>
</g>
<!-- N12 -->
<g id="node13" class="node"><title>N12</title>
<g id="a_node13"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.PointerList.PtrAt (0.64s)">
<polygon fill="#f8f8f8" stroke="black" points="5477.5,-853 4770.5,-853 4770.5,-806 5477.5,-806 5477.5,-853"/>
<text text-anchor="middle" x="5124" y="-839.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.PointerList.PtrAt</text>
<text text-anchor="middle" x="5124" y="-826.4" font-family="Times,serif" font-size="12.00">0.03s(0.6%)</text>
<text text-anchor="middle" x="5124" y="-813.4" font-family="Times,serif" font-size="12.00">of 0.64s(12.77%)</text>
</a>
</g>
</g>
<!-- N10&#45;&gt;N12 -->
<g id="edge8" class="edge"><title>N10&#45;&gt;N12</title>
<g id="a_edge8"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).RootPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.PointerList.PtrAt (0.64s)">
<path fill="none" stroke="black" d="M3769.69,-908.497C3883.39,-895.777 4038.17,-879.932 4175,-871 4431.71,-854.242 4499.01,-864.786 4759.87,-853.04"/>
<polygon fill="black" stroke="black" points="4760.2,-856.529 4770.03,-852.576 4759.88,-849.536 4760.2,-856.529"/>
</a>
</g>
<g id="a_edge8&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).RootPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.PointerList.PtrAt (0.64s)">
<text text-anchor="middle" x="4197" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.64s</text>
</a>
</g>
</g>
<!-- N21 -->
<g id="node22" class="node"><title>N21</title>
<g id="a_node22"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment (0.34s)">
<polygon fill="#f8f8f8" stroke="black" points="4558.5,-853 3827.5,-853 3827.5,-806 4558.5,-806 4558.5,-853"/>
<text text-anchor="middle" x="4193" y="-839.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment</text>
<text text-anchor="middle" x="4193" y="-826.4" font-family="Times,serif" font-size="12.00">0.05s(1%)</text>
<text text-anchor="middle" x="4193" y="-813.4" font-family="Times,serif" font-size="12.00">of 0.34s(6.79%)</text>
</a>
</g>
</g>
<!-- N10&#45;&gt;N21 -->
<g id="edge51" class="edge"><title>N10&#45;&gt;N21</title>
<g id="a_edge51"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).RootPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment (0.11s)">
<path fill="none" stroke="black" d="M3699.1,-908.487C3756.92,-896.828 3832.59,-882.164 3900,-871 3935.08,-865.191 3972.62,-859.562 4008.72,-854.44"/>
<polygon fill="black" stroke="black" points="4009.44,-857.872 4018.86,-853.009 4008.46,-850.94 4009.44,-857.872"/>
</a>
</g>
<g id="a_edge51&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).RootPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment (0.11s)">
<text text-anchor="middle" x="3922" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.11s</text>
</a>
</g>
</g>
<!-- N68 -->
<g id="node69" class="node"><title>N68</title>
<g id="a_node69"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).root (0.05s)">
<polygon fill="#f8f8f8" stroke="black" points="2950,-847.5 2474,-847.5 2474,-811.5 2950,-811.5 2950,-847.5"/>
<text text-anchor="middle" x="2712" y="-832.1" font-family="Times,serif" font-size="8.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).root</text>
<text text-anchor="middle" x="2712" y="-823.1" font-family="Times,serif" font-size="8.00">0 of 0.05s(1%)</text>
</a>
</g>
</g>
<!-- N10&#45;&gt;N68 -->
<g id="edge123" class="edge"><title>N10&#45;&gt;N68</title>
<g id="a_edge123"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).RootPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).root (0.01s)">
<path fill="none" stroke="black" d="M3341.7,-908.484C3318.8,-906.916 3295.99,-905.399 3274,-904 3127.85,-894.705 3089.92,-907.051 2945,-886 2889.03,-877.869 2826.76,-862.711 2780.68,-850.288"/>
<polygon fill="black" stroke="black" points="2781.38,-846.85 2770.81,-847.601 2779.54,-853.604 2781.38,-846.85"/>
</a>
</g>
<g id="a_edge123&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).RootPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).root (0.01s)">
<text text-anchor="middle" x="2967" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.01s</text>
</a>
</g>
</g>
<!-- N11 -->
<g id="node12" class="node"><title>N11</title>
<g id="a_node12"><a xlink:title="runtime.mallocgc (0.76s)">
<polygon fill="#f8f8f8" stroke="black" points="6680.5,-553 6497.5,-553 6497.5,-482 6680.5,-482 6680.5,-553"/>
<text text-anchor="middle" x="6589" y="-533.8" font-family="Times,serif" font-size="19.00">runtime.mallocgc</text>
<text text-anchor="middle" x="6589" y="-512.8" font-family="Times,serif" font-size="19.00">0.38s(7.58%)</text>
<text text-anchor="middle" x="6589" y="-491.8" font-family="Times,serif" font-size="19.00">of 0.76s(15.17%)</text>
</a>
</g>
</g>
<!-- N35 -->
<g id="node36" class="node"><title>N35</title>
<g id="a_node36"><a xlink:title="runtime.(*mcache).nextFree (0.20s)">
<polygon fill="#f8f8f8" stroke="black" points="6665,-425 6513,-425 6513,-384 6665,-384 6665,-425"/>
<text text-anchor="middle" x="6589" y="-413" font-family="Times,serif" font-size="10.00">runtime.(*mcache).nextFree</text>
<text text-anchor="middle" x="6589" y="-402" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="6589" y="-391" font-family="Times,serif" font-size="10.00">of 0.20s(3.99%)</text>
</a>
</g>
</g>
<!-- N11&#45;&gt;N35 -->
<g id="edge30" class="edge"><title>N11&#45;&gt;N35</title>
<g id="a_edge30"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.(*mcache).nextFree (0.20s)">
<path fill="none" stroke="black" d="M6589,-481.987C6589,-467.077 6589,-449.798 6589,-435.438"/>
<polygon fill="black" stroke="black" points="6592.5,-435.115 6589,-425.115 6585.5,-435.115 6592.5,-435.115"/>
</a>
</g>
<g id="a_edge30&#45;label"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.(*mcache).nextFree (0.20s)">
<text text-anchor="middle" x="6611" y="-452.8" font-family="Times,serif" font-size="14.00"> 0.20s</text>
</a>
</g>
</g>
<!-- N48 -->
<g id="node49" class="node"><title>N48</title>
<g id="a_node49"><a xlink:title="runtime.heapBitsSetType (0.15s)">
<polygon fill="#f8f8f8" stroke="black" points="6494.5,-425.5 6287.5,-425.5 6287.5,-383.5 6494.5,-383.5 6494.5,-425.5"/>
<text text-anchor="middle" x="6391" y="-409.5" font-family="Times,serif" font-size="15.00">runtime.heapBitsSetType</text>
<text text-anchor="middle" x="6391" y="-392.5" font-family="Times,serif" font-size="15.00">0.15s(2.99%)</text>
</a>
</g>
</g>
<!-- N11&#45;&gt;N48 -->
<g id="edge40" class="edge"><title>N11&#45;&gt;N48</title>
<g id="a_edge40"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.heapBitsSetType (0.15s)">
<path fill="none" stroke="black" d="M6527.44,-481.987C6497.76,-465.349 6462.81,-445.759 6435.72,-430.57"/>
<polygon fill="black" stroke="black" points="6437.29,-427.435 6426.85,-425.598 6433.86,-433.541 6437.29,-427.435"/>
</a>
</g>
<g id="a_edge40&#45;label"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.heapBitsSetType (0.15s)">
<text text-anchor="middle" x="6512" y="-452.8" font-family="Times,serif" font-size="14.00"> 0.15s</text>
</a>
</g>
</g>
<!-- N12&#45;&gt;N7 -->
<g id="edge9" class="edge"><title>N12&#45;&gt;N7</title>
<g id="a_edge9"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.PointerList.PtrAt &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr (0.60s)">
<path fill="none" stroke="black" d="M5124,-805.539C5124,-793.64 5124,-778.836 5124,-765.461"/>
<polygon fill="black" stroke="black" points="5127.5,-765.124 5124,-755.124 5120.5,-765.124 5127.5,-765.124"/>
</a>
</g>
<g id="a_edge9&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.PointerList.PtrAt &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr (0.60s)">
<text text-anchor="middle" x="5146" y="-776.8" font-family="Times,serif" font-size="14.00"> 0.60s</text>
</a>
</g>
</g>
<!-- N13&#45;&gt;N16 -->
<g id="edge38" class="edge"><title>N13&#45;&gt;N16</title>
<g id="a_edge38"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Unmarshal &#45;&gt; runtime.newobject (0.16s)">
<path fill="none" stroke="black" d="M6791.77,-1007.02C6920.96,-994.318 7036.77,-976.807 7057,-954 7143.89,-856.029 6882.89,-835.701 6757.36,-831.54"/>
<polygon fill="black" stroke="black" points="6757.2,-828.034 6747.1,-831.226 6756.99,-835.03 6757.2,-828.034"/>
</a>
</g>
<g id="a_edge38&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Unmarshal &#45;&gt; runtime.newobject (0.16s)">
<text text-anchor="middle" x="7096" y="-925.3" font-family="Times,serif" font-size="14.00"> 0.16s</text>
</a>
</g>
</g>
<!-- N29 -->
<g id="node30" class="node"><title>N29</title>
<g id="a_node30"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.demuxArena (0.26s)">
<polygon fill="#f8f8f8" stroke="black" points="7047.5,-954 6340.5,-954 6340.5,-904 7047.5,-904 7047.5,-954"/>
<text text-anchor="middle" x="6694" y="-939.6" font-family="Times,serif" font-size="13.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.demuxArena</text>
<text text-anchor="middle" x="6694" y="-925.6" font-family="Times,serif" font-size="13.00">0.06s(1.20%)</text>
<text text-anchor="middle" x="6694" y="-911.6" font-family="Times,serif" font-size="13.00">of 0.26s(5.19%)</text>
</a>
</g>
</g>
<!-- N13&#45;&gt;N29 -->
<g id="edge23" class="edge"><title>N13&#45;&gt;N29</title>
<g id="a_edge23"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Unmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.demuxArena (0.26s)">
<path fill="none" stroke="black" d="M6478.22,-1004.94C6520.89,-990.123 6572.78,-972.101 6614.98,-957.445"/>
<polygon fill="black" stroke="black" points="6616.36,-960.671 6624.66,-954.084 6614.06,-954.059 6616.36,-960.671"/>
</a>
</g>
<g id="a_edge23&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Unmarshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.demuxArena (0.26s)">
<text text-anchor="middle" x="6593" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.26s</text>
</a>
</g>
</g>
<!-- N14 -->
<g id="node15" class="node"><title>N14</title>
<g id="a_node15"><a xlink:title="runtime.systemstack (0.53s)">
<polygon fill="#f8f8f8" stroke="black" points="6397,-327 6229,-327 6229,-274 6397,-274 6397,-327"/>
<text text-anchor="middle" x="6313" y="-311.8" font-family="Times,serif" font-size="14.00">runtime.systemstack</text>
<text text-anchor="middle" x="6313" y="-296.8" font-family="Times,serif" font-size="14.00">0.09s(1.80%)</text>
<text text-anchor="middle" x="6313" y="-281.8" font-family="Times,serif" font-size="14.00">of 0.53s(10.58%)</text>
</a>
</g>
</g>
<!-- N50 -->
<g id="node51" class="node"><title>N50</title>
<g id="a_node51"><a xlink:title="runtime.(*mcentral).grow (0.13s)">
<polygon fill="#f8f8f8" stroke="black" points="6453,-223 6313,-223 6313,-182 6453,-182 6453,-223"/>
<text text-anchor="middle" x="6383" y="-211" font-family="Times,serif" font-size="10.00">runtime.(*mcentral).grow</text>
<text text-anchor="middle" x="6383" y="-200" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="6383" y="-189" font-family="Times,serif" font-size="10.00">of 0.13s(2.59%)</text>
</a>
</g>
</g>
<!-- N14&#45;&gt;N50 -->
<g id="edge48" class="edge"><title>N14&#45;&gt;N50</title>
<g id="a_edge48"><a xlink:title="runtime.systemstack ... runtime.(*mcentral).grow (0.13s)">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M6331.76,-273.774C6341.26,-260.744 6352.81,-244.9 6362.54,-231.557"/>
<polygon fill="black" stroke="black" points="6365.57,-233.346 6368.63,-223.204 6359.91,-229.222 6365.57,-233.346"/>
</a>
</g>
<g id="a_edge48&#45;label"><a xlink:title="runtime.systemstack ... runtime.(*mcentral).grow (0.13s)">
<text text-anchor="middle" x="6376" y="-244.8" font-family="Times,serif" font-size="14.00"> 0.13s</text>
</a>
</g>
</g>
<!-- N60 -->
<g id="node61" class="node"><title>N60</title>
<g id="a_node61"><a xlink:title="runtime.deferproc.func1 (0.09s)">
<polygon fill="#f8f8f8" stroke="black" points="6295,-223 6161,-223 6161,-182 6295,-182 6295,-223"/>
<text text-anchor="middle" x="6228" y="-211" font-family="Times,serif" font-size="10.00">runtime.deferproc.func1</text>
<text text-anchor="middle" x="6228" y="-200" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="6228" y="-189" font-family="Times,serif" font-size="10.00">of 0.09s(1.80%)</text>
</a>
</g>
</g>
<!-- N14&#45;&gt;N60 -->
<g id="edge66" class="edge"><title>N14&#45;&gt;N60</title>
<g id="a_edge66"><a xlink:title="runtime.systemstack &#45;&gt; runtime.deferproc.func1 (0.09s)">
<path fill="none" stroke="black" d="M6290.22,-273.774C6278.46,-260.495 6264.12,-244.295 6252.17,-230.797"/>
<polygon fill="black" stroke="black" points="6254.7,-228.371 6245.45,-223.204 6249.45,-233.011 6254.7,-228.371"/>
</a>
</g>
<g id="a_edge66&#45;label"><a xlink:title="runtime.systemstack &#45;&gt; runtime.deferproc.func1 (0.09s)">
<text text-anchor="middle" x="6295" y="-244.8" font-family="Times,serif" font-size="14.00"> 0.09s</text>
</a>
</g>
</g>
<!-- N70 -->
<g id="node71" class="node"><title>N70</title>
<g id="a_node71"><a xlink:title="runtime.deferreturn.func1 (0.05s)">
<polygon fill="#f8f8f8" stroke="black" points="6143,-223 6001,-223 6001,-182 6143,-182 6143,-223"/>
<text text-anchor="middle" x="6072" y="-211" font-family="Times,serif" font-size="10.00">runtime.deferreturn.func1</text>
<text text-anchor="middle" x="6072" y="-200" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="6072" y="-189" font-family="Times,serif" font-size="10.00">of 0.05s(1%)</text>
</a>
</g>
</g>
<!-- N14&#45;&gt;N70 -->
<g id="edge95" class="edge"><title>N14&#45;&gt;N70</title>
<g id="a_edge95"><a xlink:title="runtime.systemstack &#45;&gt; runtime.deferreturn.func1 (0.05s)">
<path fill="none" stroke="black" d="M6248.73,-273.9C6212,-259.266 6166.27,-241.052 6130.54,-226.817"/>
<polygon fill="black" stroke="black" points="6131.79,-223.551 6121.21,-223.102 6129.2,-230.054 6131.79,-223.551"/>
</a>
</g>
<g id="a_edge95&#45;label"><a xlink:title="runtime.systemstack &#45;&gt; runtime.deferreturn.func1 (0.05s)">
<text text-anchor="middle" x="6222" y="-244.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N17 -->
<g id="node18" class="node"><title>N17</title>
<g id="a_node18"><a xlink:title="sync.(*Once).Do (0.41s)">
<polygon fill="#f8f8f8" stroke="black" points="5925.5,-538 5830.5,-538 5830.5,-497 5925.5,-497 5925.5,-538"/>
<text text-anchor="middle" x="5878" y="-526" font-family="Times,serif" font-size="10.00">sync.(*Once).Do</text>
<text text-anchor="middle" x="5878" y="-515" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="5878" y="-504" font-family="Times,serif" font-size="10.00">of 0.41s(8.18%)</text>
</a>
</g>
</g>
<!-- N15&#45;&gt;N17 -->
<g id="edge13" class="edge"><title>N15&#45;&gt;N17</title>
<g id="a_edge13"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).ReadLimiter &#45;&gt; sync.(*Once).Do (0.41s)">
<path fill="none" stroke="black" d="M5878,-603.86C5878,-587.776 5878,-566.012 5878,-548.486"/>
<polygon fill="black" stroke="black" points="5881.5,-548.21 5878,-538.21 5874.5,-548.21 5881.5,-548.21"/>
</a>
</g>
<g id="a_edge13&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).ReadLimiter &#45;&gt; sync.(*Once).Do (0.41s)">
<text text-anchor="middle" x="5900" y="-574.8" font-family="Times,serif" font-size="14.00"> 0.41s</text>
</a>
</g>
</g>
<!-- N16&#45;&gt;N11 -->
<g id="edge12" class="edge"><title>N16&#45;&gt;N11</title>
<g id="a_edge12"><a xlink:title="runtime.newobject &#45;&gt; runtime.mallocgc (0.43s)">
<path fill="none" stroke="black" d="M6687.27,-808.637C6670.62,-759.472 6627.16,-631.155 6604.01,-562.824"/>
<polygon fill="black" stroke="black" points="6607.27,-561.542 6600.75,-553.194 6600.64,-563.788 6607.27,-561.542"/>
</a>
</g>
<g id="a_edge12&#45;label"><a xlink:title="runtime.newobject &#45;&gt; runtime.mallocgc (0.43s)">
<text text-anchor="middle" x="6665" y="-672.8" font-family="Times,serif" font-size="14.00"> 0.43s</text>
</a>
</g>
</g>
<!-- N42 -->
<g id="node43" class="node"><title>N42</title>
<g id="a_node43"><a xlink:title="runtime.deferreturn (0.17s)">
<polygon fill="#f8f8f8" stroke="black" points="6269.5,-431 6108.5,-431 6108.5,-378 6269.5,-378 6269.5,-431"/>
<text text-anchor="middle" x="6189" y="-415.8" font-family="Times,serif" font-size="14.00">runtime.deferreturn</text>
<text text-anchor="middle" x="6189" y="-400.8" font-family="Times,serif" font-size="14.00">0.11s(2.20%)</text>
<text text-anchor="middle" x="6189" y="-385.8" font-family="Times,serif" font-size="14.00">of 0.17s(3.39%)</text>
</a>
</g>
</g>
<!-- N17&#45;&gt;N42 -->
<g id="edge37" class="edge"><title>N17&#45;&gt;N42</title>
<g id="a_edge37"><a xlink:title="sync.(*Once).Do &#45;&gt; runtime.deferreturn (0.17s)">
<path fill="none" stroke="black" d="M5925.51,-509.502C5970.42,-501.854 6039.06,-487.456 6095,-464 6112.19,-456.793 6129.84,-446.652 6145.14,-436.834"/>
<polygon fill="black" stroke="black" points="6147.42,-439.528 6153.86,-431.116 6143.58,-433.675 6147.42,-439.528"/>
</a>
</g>
<g id="a_edge37&#45;label"><a xlink:title="sync.(*Once).Do &#45;&gt; runtime.deferreturn (0.17s)">
<text text-anchor="middle" x="6147" y="-452.8" font-family="Times,serif" font-size="14.00"> 0.17s</text>
</a>
</g>
</g>
<!-- N43 -->
<g id="node44" class="node"><title>N43</title>
<g id="a_node44"><a xlink:title="sync.(*Mutex).Lock (0.17s)">
<polygon fill="#f8f8f8" stroke="black" points="4086.5,-428 3947.5,-428 3947.5,-381 4086.5,-381 4086.5,-428"/>
<text text-anchor="middle" x="4017" y="-414.4" font-family="Times,serif" font-size="12.00">sync.(*Mutex).Lock</text>
<text text-anchor="middle" x="4017" y="-401.4" font-family="Times,serif" font-size="12.00">0.03s(0.6%)</text>
<text text-anchor="middle" x="4017" y="-388.4" font-family="Times,serif" font-size="12.00">of 0.17s(3.39%)</text>
</a>
</g>
</g>
<!-- N17&#45;&gt;N43 -->
<g id="edge119" class="edge"><title>N17&#45;&gt;N43</title>
<g id="a_edge119"><a xlink:title="sync.(*Once).Do &#45;&gt; sync.(*Mutex).Lock (0.02s)">
<path fill="none" stroke="black" d="M5830.07,-512.421C5695.41,-501.068 5302.19,-468.653 4975,-449 4649.43,-429.445 4261.15,-414.345 4096.78,-408.334"/>
<polygon fill="black" stroke="black" points="4096.88,-404.835 4086.75,-407.968 4096.62,-411.83 4096.88,-404.835"/>
</a>
</g>
<g id="a_edge119&#45;label"><a xlink:title="sync.(*Once).Do &#45;&gt; sync.(*Mutex).Lock (0.02s)">
<text text-anchor="middle" x="5221" y="-452.8" font-family="Times,serif" font-size="14.00"> 0.02s</text>
</a>
</g>
</g>
<!-- N44 -->
<g id="node45" class="node"><title>N44</title>
<g id="a_node45"><a xlink:title="sync.(*Mutex).Unlock (0.16s)">
<polygon fill="#f8f8f8" stroke="black" points="3837.5,-429.5 3676.5,-429.5 3676.5,-379.5 3837.5,-379.5 3837.5,-429.5"/>
<text text-anchor="middle" x="3757" y="-415.1" font-family="Times,serif" font-size="13.00">sync.(*Mutex).Unlock</text>
<text text-anchor="middle" x="3757" y="-401.1" font-family="Times,serif" font-size="13.00">0.07s(1.40%)</text>
<text text-anchor="middle" x="3757" y="-387.1" font-family="Times,serif" font-size="13.00">of 0.16s(3.19%)</text>
</a>
</g>
</g>
<!-- N17&#45;&gt;N44 -->
<g id="edge110" class="edge"><title>N17&#45;&gt;N44</title>
<g id="a_edge110"><a xlink:title="sync.(*Once).Do &#45;&gt; sync.(*Mutex).Unlock (0.04s)">
<path fill="none" stroke="black" d="M5830.22,-513.655C5724.44,-507.411 5462.47,-492.25 5243,-482 4663.19,-454.921 4516.12,-482.887 3938,-431 3908.6,-428.361 3876.66,-424.272 3847.91,-420.136"/>
<polygon fill="black" stroke="black" points="3848.29,-416.654 3837.89,-418.674 3847.28,-423.581 3848.29,-416.654"/>
</a>
</g>
<g id="a_edge110&#45;label"><a xlink:title="sync.(*Once).Do &#45;&gt; sync.(*Mutex).Unlock (0.04s)">
<text text-anchor="middle" x="4503" y="-452.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N47 -->
<g id="node48" class="node"><title>N47</title>
<g id="a_node48"><a xlink:title="runtime.deferproc (0.15s)">
<polygon fill="#f8f8f8" stroke="black" points="5945,-428 5811,-428 5811,-381 5945,-381 5945,-428"/>
<text text-anchor="middle" x="5878" y="-414.4" font-family="Times,serif" font-size="12.00">runtime.deferproc</text>
<text text-anchor="middle" x="5878" y="-401.4" font-family="Times,serif" font-size="12.00">0.04s(0.8%)</text>
<text text-anchor="middle" x="5878" y="-388.4" font-family="Times,serif" font-size="12.00">of 0.15s(2.99%)</text>
</a>
</g>
</g>
<!-- N17&#45;&gt;N47 -->
<g id="edge41" class="edge"><title>N17&#45;&gt;N47</title>
<g id="a_edge41"><a xlink:title="sync.(*Once).Do &#45;&gt; runtime.deferproc (0.15s)">
<path fill="none" stroke="black" d="M5878,-496.911C5878,-480.737 5878,-457.432 5878,-438.402"/>
<polygon fill="black" stroke="black" points="5881.5,-438.342 5878,-428.342 5874.5,-438.342 5881.5,-438.342"/>
</a>
</g>
<g id="a_edge41&#45;label"><a xlink:title="sync.(*Once).Do &#45;&gt; runtime.deferproc (0.15s)">
<text text-anchor="middle" x="5900" y="-452.8" font-family="Times,serif" font-size="14.00"> 0.15s</text>
</a>
</g>
</g>
<!-- N18 -->
<g id="node19" class="node"><title>N18</title>
<g id="a_node19"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.Ptr (0.40s)">
<polygon fill="#f8f8f8" stroke="black" points="5142,-952.5 4480,-952.5 4480,-905.5 5142,-905.5 5142,-952.5"/>
<text text-anchor="middle" x="4811" y="-938.9" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.Ptr</text>
<text text-anchor="middle" x="4811" y="-925.9" font-family="Times,serif" font-size="12.00">0.03s(0.6%)</text>
<text text-anchor="middle" x="4811" y="-912.9" font-family="Times,serif" font-size="12.00">of 0.40s(7.98%)</text>
</a>
</g>
</g>
<!-- N18&#45;&gt;N7 -->
<g id="edge17" class="edge"><title>N18&#45;&gt;N7</title>
<g id="a_edge17"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.Ptr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr (0.33s)">
<path fill="none" stroke="black" d="M5131.9,-905.492C5140.02,-904.982 5148.06,-904.484 5156,-904 5175.1,-902.836 5486.83,-899.881 5500,-886 5563.73,-818.848 5463.91,-779.448 5351.17,-756.979"/>
<polygon fill="black" stroke="black" points="5351.77,-753.529 5341.28,-755.057 5350.43,-760.401 5351.77,-753.529"/>
</a>
</g>
<g id="a_edge17&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.Ptr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readPtr (0.33s)">
<text text-anchor="middle" x="5542" y="-825.8" font-family="Times,serif" font-size="14.00"> 0.33s</text>
</a>
</g>
</g>
<!-- N18&#45;&gt;N9 -->
<g id="edge104" class="edge"><title>N18&#45;&gt;N9</title>
<g id="a_edge104"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.Ptr &#45;&gt; runtime.duffcopy (0.04s)">
<path fill="none" stroke="black" d="M4632.38,-905.483C4530.96,-893.483 4401.55,-879.485 4286,-871 4234.1,-867.189 3864.52,-876.32 3818,-853 3793.99,-840.962 3802.15,-821.202 3780,-806 3499.69,-613.585 3383.08,-648.357 3052,-571 2975.67,-553.166 2888.62,-540.181 2819.83,-531.586"/>
<polygon fill="black" stroke="black" points="2820.17,-528.102 2809.82,-530.35 2819.31,-535.049 2820.17,-528.102"/>
</a>
</g>
<g id="a_edge104&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.Ptr &#45;&gt; runtime.duffcopy (0.04s)">
<text text-anchor="middle" x="3723" y="-724.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N19&#45;&gt;N9 -->
<g id="edge121" class="edge"><title>N19&#45;&gt;N9</title>
<g id="a_edge121"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetName &#45;&gt; runtime.duffcopy (0.01s)">
<path fill="none" stroke="black" d="M1256.89,-1031.29C976.192,-1026.16 540.076,-1009.28 489,-954 477.866,-941.95 462.331,-871.763 490,-773 513.606,-688.742 521.71,-657.438 591,-604 632.768,-571.787 652.878,-579.094 705,-571 888.713,-542.471 2168.41,-524.836 2573.99,-519.916"/>
<polygon fill="black" stroke="black" points="2574.33,-523.412 2584.28,-519.791 2574.24,-516.412 2574.33,-523.412"/>
</a>
</g>
<g id="a_edge121&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetName &#45;&gt; runtime.duffcopy (0.01s)">
<text text-anchor="middle" x="512" y="-776.8" font-family="Times,serif" font-size="14.00"> 0.01s</text>
</a>
</g>
</g>
<!-- N22 -->
<g id="node23" class="node"><title>N22</title>
<g id="a_node23"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewText (0.34s)">
<polygon fill="#f8f8f8" stroke="black" points="1152,-952.5 498,-952.5 498,-905.5 1152,-905.5 1152,-952.5"/>
<text text-anchor="middle" x="825" y="-938.9" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewText</text>
<text text-anchor="middle" x="825" y="-925.9" font-family="Times,serif" font-size="12.00">0.05s(1%)</text>
<text text-anchor="middle" x="825" y="-912.9" font-family="Times,serif" font-size="12.00">of 0.34s(6.79%)</text>
</a>
</g>
</g>
<!-- N19&#45;&gt;N22 -->
<g id="edge24" class="edge"><title>N19&#45;&gt;N22</title>
<g id="a_edge24"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetName &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewText (0.24s)">
<path fill="none" stroke="black" d="M1348.42,-1010.98C1239.75,-994.166 1091.5,-971.23 980.512,-954.059"/>
<polygon fill="black" stroke="black" points="980.984,-950.591 970.567,-952.52 979.914,-957.508 980.984,-950.591"/>
</a>
</g>
<g id="a_edge24&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetName &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewText (0.24s)">
<text text-anchor="middle" x="1202" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.24s</text>
</a>
</g>
</g>
<!-- N46 -->
<g id="node47" class="node"><title>N46</title>
<g id="a_node47"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetPtr (0.15s)">
<polygon fill="#f8f8f8" stroke="black" points="1695.5,-949.5 1170.5,-949.5 1170.5,-908.5 1695.5,-908.5 1695.5,-949.5"/>
<text text-anchor="middle" x="1433" y="-937.5" font-family="Times,serif" font-size="10.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetPtr</text>
<text text-anchor="middle" x="1433" y="-926.5" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="1433" y="-915.5" font-family="Times,serif" font-size="10.00">of 0.15s(2.99%)</text>
</a>
</g>
</g>
<!-- N19&#45;&gt;N46 -->
<g id="edge61" class="edge"><title>N19&#45;&gt;N46</title>
<g id="a_edge61"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetName &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetPtr (0.09s)">
<path fill="none" stroke="black" d="M1480.61,-1010.79C1471.5,-995.322 1459.37,-974.744 1449.64,-958.227"/>
<polygon fill="black" stroke="black" points="1452.6,-956.364 1444.51,-949.526 1446.57,-959.919 1452.6,-956.364"/>
</a>
</g>
<g id="a_edge61&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetName &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetPtr (0.09s)">
<text text-anchor="middle" x="1488" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.09s</text>
</a>
</g>
</g>
<!-- N20&#45;&gt;N9 -->
<g id="edge85" class="edge"><title>N20&#45;&gt;N9</title>
<g id="a_edge85"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewRootStruct &#45;&gt; runtime.duffcopy (0.05s)">
<path fill="none" stroke="black" d="M2330.46,-1010.98C2092.6,-991.339 1789.46,-964.409 1780,-954 1765.05,-937.557 1764.59,-920.009 1780,-904 1798.24,-885.055 2227.77,-893.4 2253,-886 2259.93,-883.968 2303.69,-857.9 2309,-853 2327.75,-835.685 2325.73,-825.667 2342,-806 2355.02,-790.258 2357.8,-785.45 2374,-773 2425.27,-733.594 2442.94,-730.466 2501,-702 2553.03,-676.49 2577.66,-689.47 2621,-651 2636.5,-637.242 2661.4,-590.889 2678.45,-556.874"/>
<polygon fill="black" stroke="black" points="2681.72,-558.157 2683.04,-547.644 2675.45,-555.042 2681.72,-558.157"/>
</a>
</g>
<g id="a_edge85&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewRootStruct &#45;&gt; runtime.duffcopy (0.05s)">
<text text-anchor="middle" x="2396" y="-776.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N34 -->
<g id="node35" class="node"><title>N34</title>
<g id="a_node35"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).SetRootPtr (0.20s)">
<polygon fill="#f8f8f8" stroke="black" points="3232,-952.5 2488,-952.5 2488,-905.5 3232,-905.5 3232,-952.5"/>
<text text-anchor="middle" x="2860" y="-938.9" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).SetRootPtr</text>
<text text-anchor="middle" x="2860" y="-925.9" font-family="Times,serif" font-size="12.00">0.04s(0.8%)</text>
<text text-anchor="middle" x="2860" y="-912.9" font-family="Times,serif" font-size="12.00">of 0.20s(3.99%)</text>
</a>
</g>
</g>
<!-- N20&#45;&gt;N34 -->
<g id="edge29" class="edge"><title>N20&#45;&gt;N34</title>
<g id="a_edge29"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewRootStruct &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).SetRootPtr (0.20s)">
<path fill="none" stroke="black" d="M2666.9,-1010.91C2705.14,-994.89 2756.6,-973.327 2796.78,-956.49"/>
<polygon fill="black" stroke="black" points="2798.34,-959.63 2806.21,-952.537 2795.64,-953.174 2798.34,-959.63"/>
</a>
</g>
<g id="a_edge29&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewRootStruct &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).SetRootPtr (0.20s)">
<text text-anchor="middle" x="2781" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.20s</text>
</a>
</g>
</g>
<!-- N21&#45;&gt;N43 -->
<g id="edge44" class="edge"><title>N21&#45;&gt;N43</title>
<g id="a_edge44"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment &#45;&gt; sync.(*Mutex).Lock (0.13s)">
<path fill="none" stroke="black" d="M3895.02,-805.914C3880.26,-801.003 3868.48,-795.096 3861,-788 3801.19,-731.221 3783.69,-666.927 3837,-604 3868.45,-566.87 3907.11,-616.53 3945,-586 3990.56,-549.296 4007.43,-479.498 4013.58,-438.281"/>
<polygon fill="black" stroke="black" points="4017.07,-438.588 4014.95,-428.207 4010.13,-437.643 4017.07,-438.588"/>
</a>
</g>
<g id="a_edge44&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment &#45;&gt; sync.(*Mutex).Lock (0.13s)">
<text text-anchor="middle" x="3859" y="-623.8" font-family="Times,serif" font-size="14.00"> 0.13s</text>
</a>
</g>
</g>
<!-- N21&#45;&gt;N44 -->
<g id="edge68" class="edge"><title>N21&#45;&gt;N44</title>
<g id="a_edge68"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment &#45;&gt; sync.(*Mutex).Unlock (0.08s)">
<path fill="none" stroke="black" d="M3903.09,-805.982C3822.7,-791.611 3757,-768.068 3757,-729.5 3757,-729.5 3757,-729.5 3757,-516.5 3757,-490.831 3757,-461.822 3757,-439.899"/>
<polygon fill="black" stroke="black" points="3760.5,-439.752 3757,-429.752 3753.5,-439.752 3760.5,-439.752"/>
</a>
</g>
<g id="a_edge68&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment &#45;&gt; sync.(*Mutex).Unlock (0.08s)">
<text text-anchor="middle" x="3779" y="-623.8" font-family="Times,serif" font-size="14.00"> 0.08s</text>
</a>
</g>
</g>
<!-- N33 -->
<g id="node34" class="node"><title>N33</title>
<g id="a_node34"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewUInt8List (0.22s)">
<polygon fill="#f8f8f8" stroke="black" points="1104,-850 574,-850 574,-809 1104,-809 1104,-850"/>
<text text-anchor="middle" x="839" y="-838" font-family="Times,serif" font-size="10.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewUInt8List</text>
<text text-anchor="middle" x="839" y="-827" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="839" y="-816" font-family="Times,serif" font-size="10.00">of 0.22s(4.39%)</text>
</a>
</g>
</g>
<!-- N22&#45;&gt;N33 -->
<g id="edge28" class="edge"><title>N22&#45;&gt;N33</title>
<g id="a_edge28"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewText &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewUInt8List (0.22s)">
<path fill="none" stroke="black" d="M828.247,-905.386C830.184,-891.897 832.665,-874.616 834.756,-860.055"/>
<polygon fill="black" stroke="black" points="838.239,-860.421 836.196,-850.025 831.31,-859.426 838.239,-860.421"/>
</a>
</g>
<g id="a_edge28&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewText &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewUInt8List (0.22s)">
<text text-anchor="middle" x="855" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.22s</text>
</a>
</g>
</g>
<!-- N51 -->
<g id="node52" class="node"><title>N51</title>
<g id="a_node52"><a xlink:title="runtime.memmove (0.12s)">
<polygon fill="#f8f8f8" stroke="black" points="3229,-131 3073,-131 3073,-89 3229,-89 3229,-131"/>
<text text-anchor="middle" x="3151" y="-115" font-family="Times,serif" font-size="15.00">runtime.memmove</text>
<text text-anchor="middle" x="3151" y="-98" font-family="Times,serif" font-size="15.00">0.12s(2.40%)</text>
</a>
</g>
</g>
<!-- N22&#45;&gt;N51 -->
<g id="edge75" class="edge"><title>N22&#45;&gt;N51</title>
<g id="a_edge75"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewText &#45;&gt; runtime.memmove (0.07s)">
<path fill="none" stroke="black" d="M641.882,-905.432C603.695,-894.238 565.751,-877.621 535,-853 503.812,-828.029 512.569,-808.376 494,-773 448.622,-686.552 390,-677.134 390,-579.5 390,-579.5 390,-579.5 390,-201.5 390,-132.988 2590.9,-114.674 3062.66,-111.535"/>
<polygon fill="black" stroke="black" points="3062.84,-115.034 3072.82,-111.468 3062.79,-108.034 3062.84,-115.034"/>
</a>
</g>
<g id="a_edge75&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewText &#45;&gt; runtime.memmove (0.07s)">
<text text-anchor="middle" x="412" y="-513.8" font-family="Times,serif" font-size="14.00"> 0.07s</text>
</a>
</g>
</g>
<!-- N23&#45;&gt;N18 -->
<g id="edge27" class="edge"><title>N23&#45;&gt;N18</title>
<g id="a_edge27"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Phone &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.Ptr (0.22s)">
<path fill="none" stroke="black" d="M4783.56,-1013.54C4788.29,-999.145 4794.78,-979.384 4800.26,-962.696"/>
<polygon fill="black" stroke="black" points="4803.72,-963.37 4803.52,-952.778 4797.07,-961.186 4803.72,-963.37"/>
</a>
</g>
<g id="a_edge27&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Phone &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.Ptr (0.22s)">
<text text-anchor="middle" x="4820" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.22s</text>
</a>
</g>
</g>
<!-- N36 -->
<g id="node37" class="node"><title>N36</title>
<g id="a_node37"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.Text (0.19s)">
<polygon fill="#f8f8f8" stroke="black" points="4462,-947 4020,-947 4020,-911 4462,-911 4462,-947"/>
<text text-anchor="middle" x="4241" y="-931.6" font-family="Times,serif" font-size="8.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.Text</text>
<text text-anchor="middle" x="4241" y="-922.6" font-family="Times,serif" font-size="8.00">0 of 0.19s(3.79%)</text>
</a>
</g>
</g>
<!-- N23&#45;&gt;N36 -->
<g id="edge53" class="edge"><title>N23&#45;&gt;N36</title>
<g id="a_edge53"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Phone &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.Text (0.10s)">
<path fill="none" stroke="black" d="M4675.87,-1013.97C4579.32,-995.329 4434.79,-967.42 4339.22,-948.966"/>
<polygon fill="black" stroke="black" points="4339.75,-945.503 4329.26,-947.044 4338.42,-952.376 4339.75,-945.503"/>
</a>
</g>
<g id="a_edge53&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Phone &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.Text (0.10s)">
<text text-anchor="middle" x="4548" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.10s</text>
</a>
</g>
</g>
<!-- N30 -->
<g id="node31" class="node"><title>N30</title>
<g id="a_node31"><a xlink:title="runtime.scanobject (0.26s)">
<polygon fill="#f8f8f8" stroke="black" points="5342,-1287 5172,-1287 5172,-1225 5342,-1225 5342,-1287"/>
<text text-anchor="middle" x="5257" y="-1270.2" font-family="Times,serif" font-size="16.00">runtime.scanobject</text>
<text text-anchor="middle" x="5257" y="-1252.2" font-family="Times,serif" font-size="16.00">0.16s(3.19%)</text>
<text text-anchor="middle" x="5257" y="-1234.2" font-family="Times,serif" font-size="16.00">of 0.26s(5.19%)</text>
</a>
</g>
</g>
<!-- N24&#45;&gt;N30 -->
<g id="edge25" class="edge"><title>N24&#45;&gt;N30</title>
<g id="a_edge25"><a xlink:title="runtime.gcDrain &#45;&gt; runtime.scanobject (0.24s)">
<path fill="none" stroke="black" d="M4955.53,-1342.25C4960.75,-1340.78 4965.97,-1339.35 4971,-1338 5003.7,-1329.26 5012.25,-1328.56 5045,-1320 5094.81,-1306.98 5109.27,-1303.04 5162.37,-1287.16"/>
<polygon fill="black" stroke="black" points="5163.41,-1290.5 5171.99,-1284.28 5161.4,-1283.8 5163.41,-1290.5"/>
</a>
</g>
<g id="a_edge25&#45;label"><a xlink:title="runtime.gcDrain &#45;&gt; runtime.scanobject (0.24s)">
<text text-anchor="middle" x="5123" y="-1308.8" font-family="Times,serif" font-size="14.00"> 0.24s</text>
</a>
</g>
</g>
<!-- N72 -->
<g id="node73" class="node"><title>N72</title>
<g id="a_node73"><a xlink:title="runtime.markrootBlock (0.05s)">
<polygon fill="#f8f8f8" stroke="black" points="5154,-1274 5036,-1274 5036,-1238 5154,-1238 5154,-1274"/>
<text text-anchor="middle" x="5095" y="-1258.6" font-family="Times,serif" font-size="8.00">runtime.markrootBlock</text>
<text text-anchor="middle" x="5095" y="-1249.6" font-family="Times,serif" font-size="8.00">0 of 0.05s(1%)</text>
</a>
</g>
</g>
<!-- N24&#45;&gt;N72 -->
<g id="edge90" class="edge"><title>N24&#45;&gt;N72</title>
<g id="a_edge90"><a xlink:title="runtime.gcDrain ... runtime.markrootBlock (0.05s)">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M4939.61,-1337.87C4972.82,-1320.58 5019.6,-1296.24 5053.14,-1278.78"/>
<polygon fill="black" stroke="black" points="5054.97,-1281.78 5062.23,-1274.05 5051.74,-1275.57 5054.97,-1281.78"/>
</a>
</g>
<g id="a_edge90&#45;label"><a xlink:title="runtime.gcDrain ... runtime.markrootBlock (0.05s)">
<text text-anchor="middle" x="5019" y="-1308.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N25 -->
<g id="node26" class="node"><title>N25</title>
<g id="a_node26"><a xlink:title="runtime.makeslice (0.31s)">
<polygon fill="#f8f8f8" stroke="black" points="6622.5,-851.5 6497.5,-851.5 6497.5,-807.5 6622.5,-807.5 6622.5,-851.5"/>
<text text-anchor="middle" x="6560" y="-838.7" font-family="Times,serif" font-size="11.00">runtime.makeslice</text>
<text text-anchor="middle" x="6560" y="-826.7" font-family="Times,serif" font-size="11.00">0.02s(0.4%)</text>
<text text-anchor="middle" x="6560" y="-814.7" font-family="Times,serif" font-size="11.00">of 0.31s(6.19%)</text>
</a>
</g>
</g>
<!-- N25&#45;&gt;N11 -->
<g id="edge20" class="edge"><title>N25&#45;&gt;N11</title>
<g id="a_edge20"><a xlink:title="runtime.makeslice &#45;&gt; runtime.mallocgc (0.29s)">
<path fill="none" stroke="black" d="M6561.99,-807.192C6566.68,-757.137 6578.46,-631.169 6584.8,-563.365"/>
<polygon fill="black" stroke="black" points="6588.33,-563.286 6585.77,-553.003 6581.36,-562.634 6588.33,-563.286"/>
</a>
</g>
<g id="a_edge20&#45;label"><a xlink:title="runtime.makeslice &#45;&gt; runtime.mallocgc (0.29s)">
<text text-anchor="middle" x="6596" y="-672.8" font-family="Times,serif" font-size="14.00"> 0.29s</text>
</a>
</g>
</g>
<!-- N26&#45;&gt;N21 -->
<g id="edge79" class="edge"><title>N26&#45;&gt;N21</title>
<g id="a_edge79"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment (0.06s)">
<path fill="none" stroke="black" d="M5445.35,-1016.49C5348.15,-1002.75 5229.36,-981.238 5187,-954 5163.97,-939.189 5174.88,-917.408 5151,-904 5137.31,-896.314 4808.34,-872.245 4539.69,-853.722"/>
<polygon fill="black" stroke="black" points="4539.57,-850.206 4529.36,-853.01 4539.09,-857.189 4539.57,-850.206"/>
</a>
</g>
<g id="a_edge79&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment (0.06s)">
<text text-anchor="middle" x="5209" y="-925.3" font-family="Times,serif" font-size="14.00"> 0.06s</text>
</a>
</g>
</g>
<!-- N26&#45;&gt;N25 -->
<g id="edge56" class="edge"><title>N26&#45;&gt;N25</title>
<g id="a_edge56"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Marshal &#45;&gt; runtime.makeslice (0.10s)">
<path fill="none" stroke="black" d="M5733.24,-1016.47C5768.81,-1012.52 5806.75,-1008.46 5842,-1005 5989.26,-990.551 6047.28,-1035.16 6171,-954 6195.03,-938.237 6187.44,-918.924 6212,-904 6257.48,-876.364 6399.46,-852.624 6487.39,-840.061"/>
<polygon fill="black" stroke="black" points="6487.9,-843.524 6497.31,-838.659 6486.92,-836.593 6487.9,-843.524"/>
</a>
</g>
<g id="a_edge56&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Marshal &#45;&gt; runtime.makeslice (0.10s)">
<text text-anchor="middle" x="6234" y="-925.3" font-family="Times,serif" font-size="14.00"> 0.10s</text>
</a>
</g>
</g>
<!-- N53 -->
<g id="node54" class="node"><title>N53</title>
<g id="a_node54"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).segmentSizes (0.10s)">
<polygon fill="#f8f8f8" stroke="black" points="5956,-951 5240,-951 5240,-907 5956,-907 5956,-951"/>
<text text-anchor="middle" x="5598" y="-938.2" font-family="Times,serif" font-size="11.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).segmentSizes</text>
<text text-anchor="middle" x="5598" y="-926.2" font-family="Times,serif" font-size="11.00">0.02s(0.4%)</text>
<text text-anchor="middle" x="5598" y="-914.2" font-family="Times,serif" font-size="11.00">of 0.10s(2.00%)</text>
</a>
</g>
</g>
<!-- N26&#45;&gt;N53 -->
<g id="edge55" class="edge"><title>N26&#45;&gt;N53</title>
<g id="a_edge55"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).segmentSizes (0.10s)">
<path fill="none" stroke="black" d="M5588.82,-1016.41C5590.41,-1001.43 5592.76,-979.294 5594.69,-961.174"/>
<polygon fill="black" stroke="black" points="5598.19,-961.368 5595.76,-951.054 5591.23,-960.628 5598.19,-961.368"/>
</a>
</g>
<g id="a_edge55&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Marshal &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).segmentSizes (0.10s)">
<text text-anchor="middle" x="5616" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.10s</text>
</a>
</g>
</g>
<!-- N27&#45;&gt;N18 -->
<g id="edge32" class="edge"><title>N27&#45;&gt;N18</title>
<g id="a_edge32"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Name &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.Ptr (0.18s)">
<path fill="none" stroke="black" d="M5105.92,-1014C5076.84,-1000.77 5036.65,-983.637 5000,-972 4980.09,-965.677 4958.7,-959.949 4937.73,-954.899"/>
<polygon fill="black" stroke="black" points="4938.35,-951.448 4927.81,-952.551 4936.74,-958.26 4938.35,-951.448"/>
</a>
</g>
<g id="a_edge32&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Name &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.Ptr (0.18s)">
<text text-anchor="middle" x="5064" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.18s</text>
</a>
</g>
</g>
<!-- N27&#45;&gt;N36 -->
<g id="edge60" class="edge"><title>N27&#45;&gt;N36</title>
<g id="a_edge60"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Name &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.Text (0.09s)">
<path fill="none" stroke="black" d="M5068.33,-1013.97C5007.92,-999.821 4922.21,-981.557 4846,-972 4680.44,-951.238 4637.38,-966.664 4471,-954 4448.86,-952.315 4425.54,-950.237 4402.6,-948.015"/>
<polygon fill="black" stroke="black" points="4402.74,-944.512 4392.45,-947.021 4402.06,-951.479 4402.74,-944.512"/>
</a>
</g>
<g id="a_edge60&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.Name &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.Text (0.09s)">
<text text-anchor="middle" x="4960" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.09s</text>
</a>
</g>
</g>
<!-- N28&#45;&gt;N16 -->
<g id="edge71" class="edge"><title>N28&#45;&gt;N16</title>
<g id="a_edge71"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewMessage &#45;&gt; runtime.newobject (0.08s)">
<path fill="none" stroke="black" d="M4501.11,-1010.98C4531.73,-1008.74 4562.55,-1006.68 4592,-1005 4702.66,-998.68 5478.21,-975.328 5589,-972 5626.05,-970.887 6223.73,-972.233 6256,-954 6278.97,-941.023 6265.85,-918.334 6288,-904 6417.76,-820.031 6482.16,-890.887 6632,-853 6632.22,-852.946 6632.43,-852.891 6632.65,-852.835"/>
<polygon fill="black" stroke="black" points="6633.8,-856.147 6642.48,-850.074 6631.91,-849.407 6633.8,-856.147"/>
</a>
</g>
<g id="a_edge71&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewMessage &#45;&gt; runtime.newobject (0.08s)">
<text text-anchor="middle" x="6310" y="-925.3" font-family="Times,serif" font-size="14.00"> 0.08s</text>
</a>
</g>
</g>
<!-- N28&#45;&gt;N21 -->
<g id="edge50" class="edge"><title>N28&#45;&gt;N21</title>
<g id="a_edge50"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewMessage &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment (0.12s)">
<path fill="none" stroke="black" d="M4110.04,-1010.98C4048.74,-997.504 3985.22,-978.258 3967,-954 3943.26,-922.388 3964.37,-890.069 3999,-871 4009.18,-865.393 4020.06,-860.56 4031.27,-856.395"/>
<polygon fill="black" stroke="black" points="4032.48,-859.678 4040.75,-853.052 4030.16,-853.076 4032.48,-859.678"/>
</a>
</g>
<g id="a_edge50&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewMessage &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment (0.12s)">
<text text-anchor="middle" x="3989" y="-925.3" font-family="Times,serif" font-size="14.00"> 0.12s</text>
</a>
</g>
</g>
<!-- N31 -->
<g id="node32" class="node"><title>N31</title>
<g id="a_node32"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.alloc (0.25s)">
<polygon fill="#f8f8f8" stroke="black" points="2612.5,-650.5 1737.5,-650.5 1737.5,-604.5 2612.5,-604.5 2612.5,-650.5"/>
<text text-anchor="middle" x="2175" y="-632.9" font-family="Times,serif" font-size="17.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.alloc</text>
<text text-anchor="middle" x="2175" y="-613.9" font-family="Times,serif" font-size="17.00">0.25s(4.99%)</text>
</a>
</g>
</g>
<!-- N28&#45;&gt;N31 -->
<g id="edge102" class="edge"><title>N28&#45;&gt;N31</title>
<g id="a_edge102"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewMessage &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.alloc (0.04s)">
<path fill="none" stroke="black" d="M4049.56,-1011C3934.71,-998.117 3785.63,-982.482 3653,-972 3578.46,-966.109 3388.03,-977.359 3317,-954 3278.59,-941.369 3279.45,-916.519 3241,-904 3161.25,-878.03 2945.83,-904.406 2864,-886 2847.09,-882.196 2844.92,-874.774 2828,-871 2783.82,-861.144 2458.05,-879.001 2421,-853 2389.52,-830.907 2412.27,-802.835 2388,-773 2345.48,-720.735 2279.15,-679.908 2231.82,-655.178"/>
<polygon fill="black" stroke="black" points="2233.41,-652.059 2222.91,-650.598 2230.2,-658.284 2233.41,-652.059"/>
</a>
</g>
<g id="a_edge102&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewMessage &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.alloc (0.04s)">
<text text-anchor="middle" x="2443" y="-825.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N29&#45;&gt;N16 -->
<g id="edge76" class="edge"><title>N29&#45;&gt;N16</title>
<g id="a_edge76"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.demuxArena &#45;&gt; runtime.newobject (0.07s)">
<path fill="none" stroke="black" d="M6694,-903.899C6694,-890.687 6694,-874.198 6694,-860.197"/>
<polygon fill="black" stroke="black" points="6697.5,-860.071 6694,-850.071 6690.5,-860.071 6697.5,-860.071"/>
</a>
</g>
<g id="a_edge76&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.demuxArena &#45;&gt; runtime.newobject (0.07s)">
<text text-anchor="middle" x="6716" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.07s</text>
</a>
</g>
</g>
<!-- N29&#45;&gt;N25 -->
<g id="edge46" class="edge"><title>N29&#45;&gt;N25</title>
<g id="a_edge46"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.demuxArena &#45;&gt; runtime.makeslice (0.13s)">
<path fill="none" stroke="black" d="M6660.88,-903.899C6641.62,-889.886 6617.29,-872.185 6597.35,-857.677"/>
<polygon fill="black" stroke="black" points="6599.25,-854.728 6589.1,-851.675 6595.13,-860.389 6599.25,-854.728"/>
</a>
</g>
<g id="a_edge46&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.demuxArena &#45;&gt; runtime.makeslice (0.13s)">
<text text-anchor="middle" x="6657" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.13s</text>
</a>
</g>
</g>
<!-- N64 -->
<g id="node65" class="node"><title>N64</title>
<g id="a_node65"><a xlink:title="runtime.greyobject (0.08s)">
<polygon fill="#f8f8f8" stroke="black" points="7384,-1058 7246,-1058 7246,-1011 7384,-1011 7384,-1058"/>
<text text-anchor="middle" x="7315" y="-1044.4" font-family="Times,serif" font-size="12.00">runtime.greyobject</text>
<text text-anchor="middle" x="7315" y="-1031.4" font-family="Times,serif" font-size="12.00">0.04s(0.8%)</text>
<text text-anchor="middle" x="7315" y="-1018.4" font-family="Times,serif" font-size="12.00">of 0.08s(1.60%)</text>
</a>
</g>
</g>
<!-- N30&#45;&gt;N64 -->
<g id="edge77" class="edge"><title>N30&#45;&gt;N64</title>
<g id="a_edge77"><a xlink:title="runtime.scanobject &#45;&gt; runtime.greyobject (0.07s)">
<path fill="none" stroke="black" d="M5342.08,-1253.36C5716.08,-1246.09 7197.74,-1216.75 7245,-1207 7283.48,-1199.07 7303.56,-1205.52 7327,-1174 7351.47,-1141.09 7341.9,-1122.24 7334,-1082 7333.06,-1077.22 7331.63,-1072.32 7329.96,-1067.57"/>
<polygon fill="black" stroke="black" points="7333.18,-1066.19 7326.3,-1058.13 7326.66,-1068.72 7333.18,-1066.19"/>
</a>
</g>
<g id="a_edge77&#45;label"><a xlink:title="runtime.scanobject &#45;&gt; runtime.greyobject (0.07s)">
<text text-anchor="middle" x="7364" y="-1140.8" font-family="Times,serif" font-size="14.00"> 0.07s</text>
</a>
</g>
</g>
<!-- N32&#45;&gt;N9 -->
<g id="edge111" class="edge"><title>N32&#45;&gt;N9</title>
<g id="a_edge111"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetPhone &#45;&gt; runtime.duffcopy (0.03s)">
<path fill="none" stroke="black" d="M1857.98,-1010.98C1823.39,-999.199 1789.32,-981.275 1765,-954 1720.74,-904.367 1699.03,-855.892 1743,-806 1764.03,-782.136 1853.61,-793.141 1885,-788 1958.37,-775.984 2001.9,-812.525 2049,-755 2063.92,-736.775 2064.95,-719.331 2049,-702 2032.61,-684.199 1855.74,-688.688 1832,-684 1784.43,-674.603 1756.64,-690.133 1728,-651 1715.66,-634.143 1713.89,-619.406 1728,-604 1784.07,-542.766 2325.78,-525.156 2573.94,-520.282"/>
<polygon fill="black" stroke="black" points="2574.16,-523.778 2584.09,-520.086 2574.02,-516.78 2574.16,-523.778"/>
</a>
</g>
<g id="a_edge111&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetPhone &#45;&gt; runtime.duffcopy (0.03s)">
<text text-anchor="middle" x="2053" y="-776.8" font-family="Times,serif" font-size="14.00"> 0.03s</text>
</a>
</g>
</g>
<!-- N32&#45;&gt;N22 -->
<g id="edge54" class="edge"><title>N32&#45;&gt;N22</title>
<g id="a_edge54"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetPhone &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewText (0.10s)">
<path fill="none" stroke="black" d="M1804.75,-1010.98C1782.93,-1008.78 1761,-1006.73 1740,-1005 1594.06,-992.956 1557.02,-998.091 1411,-987 1289.68,-977.785 1154.48,-964.816 1044.55,-953.576"/>
<polygon fill="black" stroke="black" points="1044.63,-950.066 1034.33,-952.529 1043.92,-957.03 1044.63,-950.066"/>
</a>
</g>
<g id="a_edge54&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetPhone &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewText (0.10s)">
<text text-anchor="middle" x="1433" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.10s</text>
</a>
</g>
</g>
<!-- N32&#45;&gt;N46 -->
<g id="edge78" class="edge"><title>N32&#45;&gt;N46</title>
<g id="a_edge78"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetPhone &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetPtr (0.06s)">
<path fill="none" stroke="black" d="M1813.07,-1010.96C1765.02,-1004.19 1713.44,-996.101 1666,-987 1615.33,-977.28 1559.14,-963.62 1514.64,-952.109"/>
<polygon fill="black" stroke="black" points="1515.31,-948.666 1504.75,-949.536 1513.54,-955.441 1515.31,-948.666"/>
</a>
</g>
<g id="a_edge78&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetPhone &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetPtr (0.06s)">
<text text-anchor="middle" x="1688" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.06s</text>
</a>
</g>
</g>
<!-- N33&#45;&gt;N9 -->
<g id="edge115" class="edge"><title>N33&#45;&gt;N9</title>
<g id="a_edge115"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewUInt8List &#45;&gt; runtime.duffcopy (0.02s)">
<path fill="none" stroke="black" d="M700.376,-808.99C670.163,-798.025 641.679,-781.087 623,-755 609.286,-735.848 609.101,-721.018 623,-702 736.125,-547.211 845.045,-603.447 1034,-571 1329.95,-520.181 2242.07,-517.279 2574.32,-517.982"/>
<polygon fill="black" stroke="black" points="2574.45,-521.482 2584.46,-518.005 2574.47,-514.482 2574.45,-521.482"/>
</a>
</g>
<g id="a_edge115&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewUInt8List &#45;&gt; runtime.duffcopy (0.02s)">
<text text-anchor="middle" x="672" y="-672.8" font-family="Times,serif" font-size="14.00"> 0.02s</text>
</a>
</g>
</g>
<!-- N37 -->
<g id="node38" class="node"><title>N37</title>
<g id="a_node38"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.newPrimitiveList (0.19s)">
<polygon fill="#f8f8f8" stroke="black" points="1295.5,-750.5 632.5,-750.5 632.5,-706.5 1295.5,-706.5 1295.5,-750.5"/>
<text text-anchor="middle" x="964" y="-737.7" font-family="Times,serif" font-size="11.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.newPrimitiveList</text>
<text text-anchor="middle" x="964" y="-725.7" font-family="Times,serif" font-size="11.00">0.02s(0.4%)</text>
<text text-anchor="middle" x="964" y="-713.7" font-family="Times,serif" font-size="11.00">of 0.19s(3.79%)</text>
</a>
</g>
</g>
<!-- N33&#45;&gt;N37 -->
<g id="edge31" class="edge"><title>N33&#45;&gt;N37</title>
<g id="a_edge31"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewUInt8List &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.newPrimitiveList (0.19s)">
<path fill="none" stroke="black" d="M863.696,-808.941C882.414,-794.116 908.378,-773.552 929.2,-757.061"/>
<polygon fill="black" stroke="black" points="931.525,-759.685 937.192,-750.732 927.179,-754.197 931.525,-759.685"/>
</a>
</g>
<g id="a_edge31&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.NewUInt8List &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.newPrimitiveList (0.19s)">
<text text-anchor="middle" x="931" y="-776.8" font-family="Times,serif" font-size="14.00"> 0.19s</text>
</a>
</g>
</g>
<!-- N34&#45;&gt;N21 -->
<g id="edge98" class="edge"><title>N34&#45;&gt;N21</title>
<g id="a_edge98"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).SetRootPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment (0.04s)">
<path fill="none" stroke="black" d="M3159.26,-905.48C3300.51,-894.907 3471.42,-882.197 3625,-871 3702.65,-865.339 3786.29,-859.327 3864.87,-853.718"/>
<polygon fill="black" stroke="black" points="3865.2,-857.203 3874.92,-853 3864.7,-850.221 3865.2,-857.203"/>
</a>
</g>
<g id="a_edge98&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).SetRootPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment (0.04s)">
<text text-anchor="middle" x="3647" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N63 -->
<g id="node64" class="node"><title>N63</title>
<g id="a_node64"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.PointerList.SetPtr (0.08s)">
<polygon fill="#f8f8f8" stroke="black" points="2300,-850 1752,-850 1752,-809 2300,-809 2300,-850"/>
<text text-anchor="middle" x="2026" y="-838" font-family="Times,serif" font-size="10.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.PointerList.SetPtr</text>
<text text-anchor="middle" x="2026" y="-827" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="2026" y="-816" font-family="Times,serif" font-size="10.00">of 0.08s(1.60%)</text>
</a>
</g>
</g>
<!-- N34&#45;&gt;N63 -->
<g id="edge69" class="edge"><title>N34&#45;&gt;N63</title>
<g id="a_edge69"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).SetRootPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.PointerList.SetPtr (0.08s)">
<path fill="none" stroke="black" d="M2667.35,-905.478C2527.37,-889.114 2339.36,-867.134 2203.12,-851.206"/>
<polygon fill="black" stroke="black" points="2203.33,-847.707 2192.99,-850.022 2202.51,-854.659 2203.33,-847.707"/>
</a>
</g>
<g id="a_edge69&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).SetRootPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.PointerList.SetPtr (0.08s)">
<text text-anchor="middle" x="2515" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.08s</text>
</a>
</g>
</g>
<!-- N34&#45;&gt;N68 -->
<g id="edge99" class="edge"><title>N34&#45;&gt;N68</title>
<g id="a_edge99"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).SetRootPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).root (0.04s)">
<path fill="none" stroke="black" d="M2825.67,-905.386C2801.79,-889.654 2770.09,-868.767 2746.23,-853.049"/>
<polygon fill="black" stroke="black" points="2748.1,-850.09 2737.82,-847.511 2744.25,-855.935 2748.1,-850.09"/>
</a>
</g>
<g id="a_edge99&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).SetRootPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).root (0.04s)">
<text text-anchor="middle" x="2817" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N35&#45;&gt;N14 -->
<g id="edge35" class="edge"><title>N35&#45;&gt;N14</title>
<g id="a_edge35"><a xlink:title="runtime.(*mcache).nextFree &#45;&gt; runtime.systemstack (0.18s)">
<path fill="none" stroke="black" d="M6536.11,-383.954C6495.18,-368.828 6437.87,-347.646 6391.58,-330.539"/>
<polygon fill="black" stroke="black" points="6392.77,-327.248 6382.17,-327.064 6390.34,-333.814 6392.77,-327.248"/>
</a>
</g>
<g id="a_edge35&#45;label"><a xlink:title="runtime.(*mcache).nextFree &#45;&gt; runtime.systemstack (0.18s)">
<text text-anchor="middle" x="6489" y="-348.8" font-family="Times,serif" font-size="14.00"> 0.18s</text>
</a>
</g>
</g>
<!-- N55 -->
<g id="node56" class="node"><title>N55</title>
<g id="a_node56"><a xlink:title="runtime.slicebytetostring (0.10s)">
<polygon fill="#f8f8f8" stroke="black" points="6364,-851.5 6200,-851.5 6200,-807.5 6364,-807.5 6364,-851.5"/>
<text text-anchor="middle" x="6282" y="-838.7" font-family="Times,serif" font-size="11.00">runtime.slicebytetostring</text>
<text text-anchor="middle" x="6282" y="-826.7" font-family="Times,serif" font-size="11.00">0.02s(0.4%)</text>
<text text-anchor="middle" x="6282" y="-814.7" font-family="Times,serif" font-size="11.00">of 0.10s(2.00%)</text>
</a>
</g>
</g>
<!-- N36&#45;&gt;N55 -->
<g id="edge57" class="edge"><title>N36&#45;&gt;N55</title>
<g id="a_edge57"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.Text &#45;&gt; runtime.slicebytetostring (0.10s)">
<path fill="none" stroke="black" d="M4392.76,-910.971C4418.83,-908.387 4445.68,-905.94 4471,-904 4810.48,-877.985 5870.08,-843.432 6189.77,-833.365"/>
<polygon fill="black" stroke="black" points="6190.04,-836.858 6199.93,-833.045 6189.82,-829.861 6190.04,-836.858"/>
</a>
</g>
<g id="a_edge57&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.Text &#45;&gt; runtime.slicebytetostring (0.10s)">
<text text-anchor="middle" x="5109" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.10s</text>
</a>
</g>
</g>
<!-- N57 -->
<g id="node58" class="node"><title>N57</title>
<g id="a_node58"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.text (0.09s)">
<polygon fill="#f8f8f8" stroke="black" points="3771.5,-853 3124.5,-853 3124.5,-806 3771.5,-806 3771.5,-853"/>
<text text-anchor="middle" x="3448" y="-839.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.text</text>
<text text-anchor="middle" x="3448" y="-826.4" font-family="Times,serif" font-size="12.00">0.05s(1%)</text>
<text text-anchor="middle" x="3448" y="-813.4" font-family="Times,serif" font-size="12.00">of 0.09s(1.80%)</text>
</a>
</g>
</g>
<!-- N36&#45;&gt;N57 -->
<g id="edge63" class="edge"><title>N36&#45;&gt;N57</title>
<g id="a_edge63"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.Text &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.text (0.09s)">
<path fill="none" stroke="black" d="M4079.87,-910.999C4055.14,-908.548 4029.9,-906.135 4006,-904 3901.67,-894.678 3874.96,-898.884 3771,-886 3705.48,-877.879 3632.99,-865.717 3573.31,-854.846"/>
<polygon fill="black" stroke="black" points="3573.94,-851.402 3563.47,-853.044 3572.68,-858.288 3573.94,-851.402"/>
</a>
</g>
<g id="a_edge63&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.Text &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.text (0.09s)">
<text text-anchor="middle" x="3793" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.09s</text>
</a>
</g>
</g>
<!-- N37&#45;&gt;N9 -->
<g id="edge105" class="edge"><title>N37&#45;&gt;N9</title>
<g id="a_edge105"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.newPrimitiveList &#45;&gt; runtime.duffcopy (0.04s)">
<path fill="none" stroke="black" d="M958.081,-706.159C951.829,-678.414 946.191,-630.394 973,-604 1029.95,-547.929 2189.47,-525.932 2574.18,-520.159"/>
<polygon fill="black" stroke="black" points="2574.28,-523.658 2584.23,-520.01 2574.17,-516.659 2574.28,-523.658"/>
</a>
</g>
<g id="a_edge105&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.newPrimitiveList &#45;&gt; runtime.duffcopy (0.04s)">
<text text-anchor="middle" x="995" y="-623.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N37&#45;&gt;N31 -->
<g id="edge47" class="edge"><title>N37&#45;&gt;N31</title>
<g id="a_edge47"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.newPrimitiveList &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.alloc (0.13s)">
<path fill="none" stroke="black" d="M1240.92,-706.49C1262.27,-704.944 1283.48,-703.431 1304,-702 1427.96,-693.353 1459.13,-693.8 1583,-684 1703,-674.506 1836.51,-662.146 1946.32,-651.5"/>
<polygon fill="black" stroke="black" points="1946.92,-654.959 1956.54,-650.508 1946.25,-647.991 1946.92,-654.959"/>
</a>
</g>
<g id="a_edge47&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.newPrimitiveList &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.alloc (0.13s)">
<text text-anchor="middle" x="1768" y="-672.8" font-family="Times,serif" font-size="14.00"> 0.13s</text>
</a>
</g>
</g>
<!-- N40 -->
<g id="node41" class="node"><title>N40</title>
<g id="a_node41"><a xlink:title="math/rand.(*Rand).Intn (0.18s)">
<polygon fill="#f8f8f8" stroke="black" points="5982.5,-1055 5851.5,-1055 5851.5,-1014 5982.5,-1014 5982.5,-1055"/>
<text text-anchor="middle" x="5917" y="-1043" font-family="Times,serif" font-size="10.00">math/rand.(*Rand).Intn</text>
<text text-anchor="middle" x="5917" y="-1032" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="5917" y="-1021" font-family="Times,serif" font-size="10.00">of 0.18s(3.59%)</text>
</a>
</g>
</g>
<!-- N38&#45;&gt;N40 -->
<g id="edge34" class="edge"><title>N38&#45;&gt;N40</title>
<g id="a_edge34"><a xlink:title="math/rand.Intn &#45;&gt; math/rand.(*Rand).Intn (0.18s)">
<path fill="none" stroke="black" d="M5233.35,-1141.73C5341.47,-1136.76 5618.18,-1119.24 5842,-1064 5848.21,-1062.47 5854.61,-1060.57 5860.93,-1058.48"/>
<polygon fill="black" stroke="black" points="5862.45,-1061.66 5870.75,-1055.07 5860.15,-1055.04 5862.45,-1061.66"/>
</a>
</g>
<g id="a_edge34&#45;label"><a xlink:title="math/rand.Intn &#45;&gt; math/rand.(*Rand).Intn (0.18s)">
<text text-anchor="middle" x="5777" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.18s</text>
</a>
</g>
</g>
<!-- N39 -->
<g id="node40" class="node"><title>N39</title>
<g id="a_node40"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).writePtr (0.18s)">
<polygon fill="#f8f8f8" stroke="black" points="2040.5,-752 1313.5,-752 1313.5,-705 2040.5,-705 2040.5,-752"/>
<text text-anchor="middle" x="1677" y="-738.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).writePtr</text>
<text text-anchor="middle" x="1677" y="-725.4" font-family="Times,serif" font-size="12.00">0.03s(0.6%)</text>
<text text-anchor="middle" x="1677" y="-712.4" font-family="Times,serif" font-size="12.00">of 0.18s(3.59%)</text>
</a>
</g>
</g>
<!-- N45 -->
<g id="node46" class="node"><title>N45</title>
<g id="a_node46"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.value (0.15s)">
<polygon fill="#f8f8f8" stroke="black" points="1682,-651 1026,-651 1026,-604 1682,-604 1682,-651"/>
<text text-anchor="middle" x="1354" y="-637.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.value</text>
<text text-anchor="middle" x="1354" y="-624.4" font-family="Times,serif" font-size="12.00">0.05s(1%)</text>
<text text-anchor="middle" x="1354" y="-611.4" font-family="Times,serif" font-size="12.00">of 0.15s(2.99%)</text>
</a>
</g>
</g>
<!-- N39&#45;&gt;N45 -->
<g id="edge39" class="edge"><title>N39&#45;&gt;N45</title>
<g id="a_edge39"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).writePtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.value (0.15s)">
<path fill="none" stroke="black" d="M1603.3,-704.911C1553.89,-689.766 1488.72,-669.791 1437.4,-654.063"/>
<polygon fill="black" stroke="black" points="1438.25,-650.661 1427.66,-651.077 1436.2,-657.354 1438.25,-650.661"/>
</a>
</g>
<g id="a_edge39&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).writePtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.value (0.15s)">
<text text-anchor="middle" x="1557" y="-672.8" font-family="Times,serif" font-size="14.00"> 0.15s</text>
</a>
</g>
</g>
<!-- N41 -->
<g id="node42" class="node"><title>N41</title>
<g id="a_node42"><a xlink:title="math/rand.(*Rand).Int31n (0.17s)">
<polygon fill="#f8f8f8" stroke="black" points="6162,-954 5974,-954 5974,-904 6162,-904 6162,-954"/>
<text text-anchor="middle" x="6068" y="-939.6" font-family="Times,serif" font-size="13.00">math/rand.(*Rand).Int31n</text>
<text text-anchor="middle" x="6068" y="-925.6" font-family="Times,serif" font-size="13.00">0.08s(1.60%)</text>
<text text-anchor="middle" x="6068" y="-911.6" font-family="Times,serif" font-size="13.00">of 0.17s(3.39%)</text>
</a>
</g>
</g>
<!-- N40&#45;&gt;N41 -->
<g id="edge36" class="edge"><title>N40&#45;&gt;N41</title>
<g id="a_edge36"><a xlink:title="math/rand.(*Rand).Intn &#45;&gt; math/rand.(*Rand).Int31n (0.17s)">
<path fill="none" stroke="black" d="M5945.76,-1013.79C5968.05,-998.507 5999.31,-977.081 6024.64,-959.721"/>
<polygon fill="black" stroke="black" points="6026.71,-962.545 6032.98,-954.004 6022.75,-956.771 6026.71,-962.545"/>
</a>
</g>
<g id="a_edge36&#45;label"><a xlink:title="math/rand.(*Rand).Intn &#45;&gt; math/rand.(*Rand).Int31n (0.17s)">
<text text-anchor="middle" x="6029" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.17s</text>
</a>
</g>
</g>
<!-- N58 -->
<g id="node59" class="node"><title>N58</title>
<g id="a_node59"><a xlink:title="math/rand.(*lockedSource).Int63 (0.09s)">
<polygon fill="#f8f8f8" stroke="black" points="4752,-850 4576,-850 4576,-809 4752,-809 4752,-850"/>
<text text-anchor="middle" x="4664" y="-838" font-family="Times,serif" font-size="10.00">math/rand.(*lockedSource).Int63</text>
<text text-anchor="middle" x="4664" y="-827" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="4664" y="-816" font-family="Times,serif" font-size="10.00">of 0.09s(1.80%)</text>
</a>
</g>
</g>
<!-- N41&#45;&gt;N58 -->
<g id="edge64" class="edge"><title>N41&#45;&gt;N58</title>
<g id="a_edge64"><a xlink:title="math/rand.(*Rand).Int31n ... math/rand.(*lockedSource).Int63 (0.09s)">
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M5973.83,-905.359C5970.86,-904.869 5967.91,-904.413 5965,-904 5692.68,-865.308 5621.82,-882.557 5347,-871 5086.66,-860.052 5019.39,-886.602 4761,-853 4758.11,-852.624 4755.17,-852.199 4752.22,-851.735"/>
<polygon fill="black" stroke="black" points="4752.56,-848.242 4742.11,-850.012 4751.38,-855.143 4752.56,-848.242"/>
</a>
</g>
<g id="a_edge64&#45;label"><a xlink:title="math/rand.(*Rand).Int31n ... math/rand.(*lockedSource).Int63 (0.09s)">
<text text-anchor="middle" x="5833" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.09s</text>
</a>
</g>
</g>
<!-- N42&#45;&gt;N14 -->
<g id="edge89" class="edge"><title>N42&#45;&gt;N14</title>
<g id="a_edge89"><a xlink:title="runtime.deferreturn &#45;&gt; runtime.systemstack (0.05s)">
<path fill="none" stroke="black" d="M6220.29,-377.761C6236.59,-364.352 6256.68,-347.827 6273.99,-333.591"/>
<polygon fill="black" stroke="black" points="6276.22,-336.286 6281.72,-327.231 6271.77,-330.88 6276.22,-336.286"/>
</a>
</g>
<g id="a_edge89&#45;label"><a xlink:title="runtime.deferreturn &#45;&gt; runtime.systemstack (0.05s)">
<text text-anchor="middle" x="6280" y="-348.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N49 -->
<g id="node50" class="node"><title>N49</title>
<g id="a_node50"><a xlink:title="sync/atomic.CompareAndSwapUint32 (0.14s)">
<polygon fill="#f8f8f8" stroke="black" points="4166.5,-321.5 3867.5,-321.5 3867.5,-279.5 4166.5,-279.5 4166.5,-321.5"/>
<text text-anchor="middle" x="4017" y="-305.5" font-family="Times,serif" font-size="15.00">sync/atomic.CompareAndSwapUint32</text>
<text text-anchor="middle" x="4017" y="-288.5" font-family="Times,serif" font-size="15.00">0.14s(2.79%)</text>
</a>
</g>
</g>
<!-- N43&#45;&gt;N49 -->
<g id="edge42" class="edge"><title>N43&#45;&gt;N49</title>
<g id="a_edge42"><a xlink:title="sync.(*Mutex).Lock &#45;&gt; sync/atomic.CompareAndSwapUint32 (0.14s)">
<path fill="none" stroke="black" d="M4017,-380.863C4017,-366.461 4017,-347.636 4017,-331.934"/>
<polygon fill="black" stroke="black" points="4020.5,-331.656 4017,-321.656 4013.5,-331.656 4020.5,-331.656"/>
</a>
</g>
<g id="a_edge42&#45;label"><a xlink:title="sync.(*Mutex).Lock &#45;&gt; sync/atomic.CompareAndSwapUint32 (0.14s)">
<text text-anchor="middle" x="4039" y="-348.8" font-family="Times,serif" font-size="14.00"> 0.14s</text>
</a>
</g>
</g>
<!-- N61 -->
<g id="node62" class="node"><title>N61</title>
<g id="a_node62"><a xlink:title="sync/atomic.AddUint32 (0.09s)">
<polygon fill="#f8f8f8" stroke="black" points="3849.5,-319.5 3664.5,-319.5 3664.5,-281.5 3849.5,-281.5 3849.5,-319.5"/>
<text text-anchor="middle" x="3757" y="-304.3" font-family="Times,serif" font-size="14.00">sync/atomic.AddUint32</text>
<text text-anchor="middle" x="3757" y="-289.3" font-family="Times,serif" font-size="14.00">0.09s(1.80%)</text>
</a>
</g>
</g>
<!-- N44&#45;&gt;N61 -->
<g id="edge67" class="edge"><title>N44&#45;&gt;N61</title>
<g id="a_edge67"><a xlink:title="sync.(*Mutex).Unlock &#45;&gt; sync/atomic.AddUint32 (0.09s)">
<path fill="none" stroke="black" d="M3757,-379.327C3757,-364.489 3757,-345.415 3757,-329.864"/>
<polygon fill="black" stroke="black" points="3760.5,-329.756 3757,-319.756 3753.5,-329.756 3760.5,-329.756"/>
</a>
</g>
<g id="a_edge67&#45;label"><a xlink:title="sync.(*Mutex).Unlock &#45;&gt; sync/atomic.AddUint32 (0.09s)">
<text text-anchor="middle" x="3779" y="-348.8" font-family="Times,serif" font-size="14.00"> 0.09s</text>
</a>
</g>
</g>
<!-- N45&#45;&gt;N9 -->
<g id="edge87" class="edge"><title>N45&#45;&gt;N9</title>
<g id="a_edge87"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.value &#45;&gt; runtime.duffcopy (0.05s)">
<path fill="none" stroke="black" d="M1456.23,-603.956C1513.51,-592.21 1586.41,-578.72 1652,-571 1984.04,-531.918 2378.78,-521.895 2574.45,-519.349"/>
<polygon fill="black" stroke="black" points="2574.51,-522.848 2584.47,-519.222 2574.43,-515.849 2574.51,-522.848"/>
</a>
</g>
<g id="a_edge87&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.value &#45;&gt; runtime.duffcopy (0.05s)">
<text text-anchor="middle" x="1674" y="-574.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N46&#45;&gt;N9 -->
<g id="edge126" class="edge"><title>N46&#45;&gt;N9</title>
<g id="a_edge126"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetPtr &#45;&gt; runtime.duffcopy (0.01s)">
<path fill="none" stroke="black" d="M1259.13,-908.495C1147.95,-896.494 1000.61,-881.461 870,-871 836.161,-868.29 588.287,-877.702 565,-853 518.964,-804.167 538.851,-763.807 565,-702 618.689,-575.096 708.963,-585.419 846,-571 1182.47,-535.596 2216.89,-522.92 2574.14,-519.531"/>
<polygon fill="black" stroke="black" points="2574.29,-523.03 2584.25,-519.436 2574.22,-516.031 2574.29,-523.03"/>
</a>
</g>
<g id="a_edge126&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetPtr &#45;&gt; runtime.duffcopy (0.01s)">
<text text-anchor="middle" x="587" y="-724.8" font-family="Times,serif" font-size="14.00"> 0.01s</text>
</a>
</g>
</g>
<!-- N46&#45;&gt;N39 -->
<g id="edge45" class="edge"><title>N46&#45;&gt;N39</title>
<g id="a_edge45"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).writePtr (0.13s)">
<path fill="none" stroke="black" d="M1457.29,-908.241C1500.45,-873.128 1590.7,-799.707 1641.07,-758.733"/>
<polygon fill="black" stroke="black" points="1643.54,-761.23 1649.09,-752.204 1639.13,-755.8 1643.54,-761.23"/>
</a>
</g>
<g id="a_edge45&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).writePtr (0.13s)">
<text text-anchor="middle" x="1602" y="-825.8" font-family="Times,serif" font-size="14.00"> 0.13s</text>
</a>
</g>
</g>
<!-- N47&#45;&gt;N14 -->
<g id="edge65" class="edge"><title>N47&#45;&gt;N14</title>
<g id="a_edge65"><a xlink:title="runtime.deferproc &#45;&gt; runtime.systemstack (0.09s)">
<path fill="none" stroke="black" d="M5945.14,-384.523C5988.57,-372.524 6046.43,-357.061 6098,-345 6137.4,-335.784 6181.13,-326.725 6218.81,-319.279"/>
<polygon fill="black" stroke="black" points="6219.63,-322.687 6228.76,-317.323 6218.28,-315.818 6219.63,-322.687"/>
</a>
</g>
<g id="a_edge65&#45;label"><a xlink:title="runtime.deferproc &#45;&gt; runtime.systemstack (0.09s)">
<text text-anchor="middle" x="6120" y="-348.8" font-family="Times,serif" font-size="14.00"> 0.09s</text>
</a>
</g>
</g>
<!-- N52 -->
<g id="node53" class="node"><title>N52</title>
<g id="a_node53"><a xlink:title="runtime.(*mheap).alloc (0.11s)">
<polygon fill="#f8f8f8" stroke="black" points="6447,-130.5 6319,-130.5 6319,-89.5 6447,-89.5 6447,-130.5"/>
<text text-anchor="middle" x="6383" y="-118.5" font-family="Times,serif" font-size="10.00">runtime.(*mheap).alloc</text>
<text text-anchor="middle" x="6383" y="-107.5" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="6383" y="-96.5" font-family="Times,serif" font-size="10.00">of 0.11s(2.20%)</text>
</a>
</g>
</g>
<!-- N50&#45;&gt;N52 -->
<g id="edge52" class="edge"><title>N50&#45;&gt;N52</title>
<g id="a_edge52"><a xlink:title="runtime.(*mcentral).grow &#45;&gt; runtime.(*mheap).alloc (0.11s)">
<path fill="none" stroke="black" d="M6383,-181.863C6383,-169.885 6383,-154.337 6383,-140.858"/>
<polygon fill="black" stroke="black" points="6386.5,-140.599 6383,-130.599 6379.5,-140.599 6386.5,-140.599"/>
</a>
</g>
<g id="a_edge52&#45;label"><a xlink:title="runtime.(*mcentral).grow &#45;&gt; runtime.(*mheap).alloc (0.11s)">
<text text-anchor="middle" x="6405" y="-152.8" font-family="Times,serif" font-size="14.00"> 0.11s</text>
</a>
</g>
</g>
<!-- N54 -->
<g id="node55" class="node"><title>N54</title>
<g id="a_node55"><a xlink:title="runtime.memclr (0.10s)">
<polygon fill="#f8f8f8" stroke="black" points="6449.5,-38 6316.5,-38 6316.5,-0 6449.5,-0 6449.5,-38"/>
<text text-anchor="middle" x="6383" y="-22.8" font-family="Times,serif" font-size="14.00">runtime.memclr</text>
<text text-anchor="middle" x="6383" y="-7.8" font-family="Times,serif" font-size="14.00">0.10s(2.00%)</text>
</a>
</g>
</g>
<!-- N52&#45;&gt;N54 -->
<g id="edge58" class="edge"><title>N52&#45;&gt;N54</title>
<g id="a_edge58"><a xlink:title="runtime.(*mheap).alloc &#45;&gt; runtime.memclr (0.10s)">
<path fill="none" stroke="black" d="M6383,-89.248C6383,-77.2062 6383,-61.6193 6383,-48.2834"/>
<polygon fill="black" stroke="black" points="6386.5,-48.1815 6383,-38.1815 6379.5,-48.1816 6386.5,-48.1815"/>
</a>
</g>
<g id="a_edge58&#45;label"><a xlink:title="runtime.(*mheap).alloc &#45;&gt; runtime.memclr (0.10s)">
<text text-anchor="middle" x="6405" y="-59.8" font-family="Times,serif" font-size="14.00"> 0.10s</text>
</a>
</g>
</g>
<!-- N53&#45;&gt;N21 -->
<g id="edge124" class="edge"><title>N53&#45;&gt;N21</title>
<g id="a_edge124"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).segmentSizes &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment (0.01s)">
<path fill="none" stroke="black" d="M5448.47,-906.996C5332.9,-890.762 5192.42,-871.035 5192,-871 4918.47,-847.932 4846.37,-864.92 4569.06,-853.078"/>
<polygon fill="black" stroke="black" points="4568.82,-849.564 4558.68,-852.625 4568.52,-856.558 4568.82,-849.564"/>
</a>
</g>
<g id="a_edge124&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).segmentSizes &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).Segment (0.01s)">
<text text-anchor="middle" x="5313" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.01s</text>
</a>
</g>
</g>
<!-- N53&#45;&gt;N25 -->
<g id="edge74" class="edge"><title>N53&#45;&gt;N25</title>
<g id="a_edge74"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).segmentSizes &#45;&gt; runtime.makeslice (0.07s)">
<path fill="none" stroke="black" d="M5785.69,-906.97C5889.97,-895.61 6022.1,-881.751 6140,-871 6243.43,-861.568 6269.64,-863.206 6373,-853 6410.76,-849.271 6452.71,-844.3 6487.3,-839.978"/>
<polygon fill="black" stroke="black" points="6487.83,-843.439 6497.31,-838.719 6486.95,-836.494 6487.83,-843.439"/>
</a>
</g>
<g id="a_edge74&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Message).segmentSizes &#45;&gt; runtime.makeslice (0.07s)">
<text text-anchor="middle" x="6162" y="-874.8" font-family="Times,serif" font-size="14.00"> 0.07s</text>
</a>
</g>
</g>
<!-- N55&#45;&gt;N51 -->
<g id="edge118" class="edge"><title>N55&#45;&gt;N51</title>
<g id="a_edge118"><a xlink:title="runtime.slicebytetostring &#45;&gt; runtime.memmove (0.02s)">
<path fill="none" stroke="black" d="M6286,-807.454C6292.82,-765.369 6302.45,-669.282 6263,-604 6189.1,-481.699 6075.2,-547.172 5992,-431 5971.35,-402.168 5973,-388.964 5973,-353.5 5973,-353.5 5973,-353.5 5973,-201.5 5973,-131.381 3717.36,-114.303 3239.34,-111.471"/>
<polygon fill="black" stroke="black" points="3239.07,-107.97 3229.05,-111.411 3239.03,-114.97 3239.07,-107.97"/>
</a>
</g>
<g id="a_edge118&#45;label"><a xlink:title="runtime.slicebytetostring &#45;&gt; runtime.memmove (0.02s)">
<text text-anchor="middle" x="6043" y="-452.8" font-family="Times,serif" font-size="14.00"> 0.02s</text>
</a>
</g>
</g>
<!-- N66 -->
<g id="node67" class="node"><title>N66</title>
<g id="a_node67"><a xlink:title="runtime.rawstringtmp (0.06s)">
<polygon fill="#f8f8f8" stroke="black" points="6432,-749 6310,-749 6310,-708 6432,-708 6432,-749"/>
<text text-anchor="middle" x="6371" y="-737" font-family="Times,serif" font-size="10.00">runtime.rawstringtmp</text>
<text text-anchor="middle" x="6371" y="-726" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="6371" y="-715" font-family="Times,serif" font-size="10.00">of 0.06s(1.20%)</text>
</a>
</g>
</g>
<!-- N55&#45;&gt;N66 -->
<g id="edge81" class="edge"><title>N55&#45;&gt;N66</title>
<g id="a_edge81"><a xlink:title="runtime.slicebytetostring &#45;&gt; runtime.rawstringtmp (0.06s)">
<path fill="none" stroke="black" d="M6301.31,-807.018C6314.46,-792.393 6331.98,-772.903 6346.17,-757.125"/>
<polygon fill="black" stroke="black" points="6349.16,-759.034 6353.24,-749.257 6343.95,-754.354 6349.16,-759.034"/>
</a>
</g>
<g id="a_edge81&#45;label"><a xlink:title="runtime.slicebytetostring &#45;&gt; runtime.rawstringtmp (0.06s)">
<text text-anchor="middle" x="6353" y="-776.8" font-family="Times,serif" font-size="14.00"> 0.06s</text>
</a>
</g>
</g>
<!-- N56&#45;&gt;N9 -->
<g id="edge113" class="edge"><title>N56&#45;&gt;N9</title>
<g id="a_edge113"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readListPtr &#45;&gt; runtime.duffcopy (0.03s)">
<path fill="none" stroke="black" d="M4257.72,-606.972C4149.42,-595.02 4005.56,-580.287 3878,-571 3492.39,-542.924 3034.77,-527.74 2819.94,-521.677"/>
<polygon fill="black" stroke="black" points="2819.99,-518.177 2809.89,-521.395 2819.79,-525.174 2819.99,-518.177"/>
</a>
</g>
<g id="a_edge113&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readListPtr &#45;&gt; runtime.duffcopy (0.03s)">
<text text-anchor="middle" x="4066" y="-574.8" font-family="Times,serif" font-size="14.00"> 0.03s</text>
</a>
</g>
</g>
<!-- N77 -->
<g id="node78" class="node"><title>N77</title>
<g id="a_node78"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.rawPointer.totalListSize (0.04s)">
<polygon fill="#f8f8f8" stroke="black" points="4855,-541 4105,-541 4105,-494 4855,-494 4855,-541"/>
<text text-anchor="middle" x="4480" y="-527.4" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.rawPointer.totalListSize</text>
<text text-anchor="middle" x="4480" y="-514.4" font-family="Times,serif" font-size="12.00">0.03s(0.6%)</text>
<text text-anchor="middle" x="4480" y="-501.4" font-family="Times,serif" font-size="12.00">of 0.04s(0.8%)</text>
</a>
</g>
</g>
<!-- N56&#45;&gt;N77 -->
<g id="edge101" class="edge"><title>N56&#45;&gt;N77</title>
<g id="a_edge101"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readListPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.rawPointer.totalListSize (0.04s)">
<path fill="none" stroke="black" d="M4435.78,-606.942C4443.65,-591.206 4454.86,-568.773 4464.03,-550.438"/>
<polygon fill="black" stroke="black" points="4467.27,-551.79 4468.61,-541.28 4461.01,-548.659 4467.27,-551.79"/>
</a>
</g>
<g id="a_edge101&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).readListPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.rawPointer.totalListSize (0.04s)">
<text text-anchor="middle" x="4475" y="-574.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N57&#45;&gt;N9 -->
<g id="edge103" class="edge"><title>N57&#45;&gt;N9</title>
<g id="a_edge103"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.text &#45;&gt; runtime.duffcopy (0.04s)">
<path fill="none" stroke="black" d="M3339.07,-805.946C3261.7,-785.246 3159.45,-747.831 3089,-684 3047.01,-645.96 3076.01,-604.057 3030,-571 2996.78,-547.135 2900.57,-533.68 2820.05,-526.381"/>
<polygon fill="black" stroke="black" points="2820.08,-522.87 2809.82,-525.478 2819.47,-529.843 2820.08,-522.87"/>
</a>
</g>
<g id="a_edge103&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Ptr.text &#45;&gt; runtime.duffcopy (0.04s)">
<text text-anchor="middle" x="3111" y="-672.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N58&#45;&gt;N43 -->
<g id="edge116" class="edge"><title>N58&#45;&gt;N43</title>
<g id="a_edge116"><a xlink:title="math/rand.(*lockedSource).Int63 &#45;&gt; sync.(*Mutex).Lock (0.02s)">
<path fill="none" stroke="black" d="M4585.84,-808.94C4436.37,-770.901 4121.63,-687.499 4086,-651 4070.91,-635.546 4038.73,-501.009 4024.29,-437.911"/>
<polygon fill="black" stroke="black" points="4027.68,-437.043 4022.05,-428.07 4020.85,-438.598 4027.68,-437.043"/>
</a>
</g>
<g id="a_edge116&#45;label"><a xlink:title="math/rand.(*lockedSource).Int63 &#45;&gt; sync.(*Mutex).Lock (0.02s)">
<text text-anchor="middle" x="4108" y="-623.8" font-family="Times,serif" font-size="14.00"> 0.02s</text>
</a>
</g>
</g>
<!-- N58&#45;&gt;N44 -->
<g id="edge106" class="edge"><title>N58&#45;&gt;N44</title>
<g id="a_edge106"><a xlink:title="math/rand.(*lockedSource).Int63 &#45;&gt; sync.(*Mutex).Unlock (0.04s)">
<path fill="none" stroke="black" d="M4582.08,-808.959C4576.99,-807.912 4571.93,-806.915 4567,-806 4406.39,-776.181 4357.65,-807.625 4203,-755 4114.44,-724.863 4083.33,-719.856 4020,-651 3993.48,-622.166 4007.81,-601.313 3983,-571 3934.91,-512.247 3861.42,-463.601 3811.39,-434.587"/>
<polygon fill="black" stroke="black" points="3813.07,-431.511 3802.65,-429.575 3809.59,-437.584 3813.07,-431.511"/>
</a>
</g>
<g id="a_edge106&#45;label"><a xlink:title="math/rand.(*lockedSource).Int63 &#45;&gt; sync.(*Mutex).Unlock (0.04s)">
<text text-anchor="middle" x="4042" y="-623.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N59 -->
<g id="node60" class="node"><title>N59</title>
<g id="a_node60"><a xlink:title="runtime._System (0.09s)">
<polygon fill="#f8f8f8" stroke="black" points="6090.5,-422.5 6001.5,-422.5 6001.5,-386.5 6090.5,-386.5 6090.5,-422.5"/>
<text text-anchor="middle" x="6046" y="-407.1" font-family="Times,serif" font-size="8.00">runtime._System</text>
<text text-anchor="middle" x="6046" y="-398.1" font-family="Times,serif" font-size="8.00">0 of 0.09s(1.80%)</text>
</a>
</g>
</g>
<!-- N59&#45;&gt;N14 -->
<g id="edge72" class="edge"><title>N59&#45;&gt;N14</title>
<g id="a_edge72"><a xlink:title="runtime._System &#45;&gt; runtime.systemstack (0.08s)">
<path fill="none" stroke="black" d="M6080.26,-386.371C6086.45,-383.463 6092.88,-380.559 6099,-378 6140.11,-360.818 6186.59,-343.908 6225.71,-330.374"/>
<polygon fill="black" stroke="black" points="6227.17,-333.573 6235.49,-327.008 6224.9,-326.954 6227.17,-333.573"/>
</a>
</g>
<g id="a_edge72&#45;label"><a xlink:title="runtime._System &#45;&gt; runtime.systemstack (0.08s)">
<text text-anchor="middle" x="6203" y="-348.8" font-family="Times,serif" font-size="14.00"> 0.08s</text>
</a>
</g>
</g>
<!-- N60&#45;&gt;N51 -->
<g id="edge117" class="edge"><title>N60&#45;&gt;N51</title>
<g id="a_edge117"><a xlink:title="runtime.deferproc.func1 &#45;&gt; runtime.memmove (0.02s)">
<path fill="none" stroke="black" d="M6160.96,-183.87C6157.93,-183.211 6154.94,-182.584 6152,-182 6096.08,-170.899 6080.3,-177.87 6025,-164 6006.18,-159.279 6003.08,-152.513 5984,-149 5846.05,-123.602 3704.13,-113.293 3239.48,-111.35"/>
<polygon fill="black" stroke="black" points="3239.16,-107.849 3229.15,-111.307 3239.13,-114.849 3239.16,-107.849"/>
</a>
</g>
<g id="a_edge117&#45;label"><a xlink:title="runtime.deferproc.func1 &#45;&gt; runtime.memmove (0.02s)">
<text text-anchor="middle" x="6047" y="-152.8" font-family="Times,serif" font-size="14.00"> 0.02s</text>
</a>
</g>
</g>
<!-- N65 -->
<g id="node66" class="node"><title>N65</title>
<g id="a_node66"><a xlink:title="runtime.newdefer (0.06s)">
<polygon fill="#f8f8f8" stroke="black" points="6295.5,-128 6160.5,-128 6160.5,-92 6295.5,-92 6295.5,-128"/>
<text text-anchor="middle" x="6228" y="-113.6" font-family="Times,serif" font-size="13.00">runtime.newdefer</text>
<text text-anchor="middle" x="6228" y="-99.6" font-family="Times,serif" font-size="13.00">0.06s(1.20%)</text>
</a>
</g>
</g>
<!-- N60&#45;&gt;N65 -->
<g id="edge80" class="edge"><title>N60&#45;&gt;N65</title>
<g id="a_edge80"><a xlink:title="runtime.deferproc.func1 &#45;&gt; runtime.newdefer (0.06s)">
<path fill="none" stroke="black" d="M6228,-181.863C6228,-169.104 6228,-152.293 6228,-138.248"/>
<polygon fill="black" stroke="black" points="6231.5,-138.159 6228,-128.159 6224.5,-138.159 6231.5,-138.159"/>
</a>
</g>
<g id="a_edge80&#45;label"><a xlink:title="runtime.deferproc.func1 &#45;&gt; runtime.newdefer (0.06s)">
<text text-anchor="middle" x="6250" y="-152.8" font-family="Times,serif" font-size="14.00"> 0.06s</text>
</a>
</g>
</g>
<!-- N80 -->
<g id="node81" class="node"><title>N80</title>
<g id="a_node81"><a xlink:title="sync/atomic.CompareAndSwapUint64 (0.04s)">
<polygon fill="#f8f8f8" stroke="black" points="5234,-535.5 4980,-535.5 4980,-499.5 5234,-499.5 5234,-535.5"/>
<text text-anchor="middle" x="5107" y="-520.9" font-family="Times,serif" font-size="12.00">sync/atomic.CompareAndSwapUint64</text>
<text text-anchor="middle" x="5107" y="-507.9" font-family="Times,serif" font-size="12.00">0.04s(0.8%)</text>
</a>
</g>
</g>
<!-- N62&#45;&gt;N80 -->
<g id="edge100" class="edge"><title>N62&#45;&gt;N80</title>
<g id="a_edge100"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*ReadLimiter).canRead &#45;&gt; sync/atomic.CompareAndSwapUint64 (0.04s)">
<path fill="none" stroke="black" d="M5107,-603.86C5107,-586.979 5107,-563.843 5107,-545.915"/>
<polygon fill="black" stroke="black" points="5110.5,-545.788 5107,-535.788 5103.5,-545.788 5110.5,-545.788"/>
</a>
</g>
<g id="a_edge100&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*ReadLimiter).canRead &#45;&gt; sync/atomic.CompareAndSwapUint64 (0.04s)">
<text text-anchor="middle" x="5129" y="-574.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N63&#45;&gt;N39 -->
<g id="edge86" class="edge"><title>N63&#45;&gt;N39</title>
<g id="a_edge86"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.PointerList.SetPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).writePtr (0.05s)">
<path fill="none" stroke="black" d="M1925.57,-808.945C1897.98,-802.915 1868.18,-795.789 1841,-788 1808.76,-778.76 1773.65,-766.54 1744.23,-755.659"/>
<polygon fill="black" stroke="black" points="1745.07,-752.239 1734.48,-752.027 1742.63,-758.798 1745.07,-752.239"/>
</a>
</g>
<g id="a_edge86&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.PointerList.SetPtr &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).writePtr (0.05s)">
<text text-anchor="middle" x="1863" y="-776.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N79 -->
<g id="node80" class="node"><title>N79</title>
<g id="a_node80"><a xlink:title="runtime/internal/atomic.Or8 (0.04s)">
<polygon fill="#f8f8f8" stroke="black" points="7398,-947 7204,-947 7204,-911 7398,-911 7398,-947"/>
<text text-anchor="middle" x="7301" y="-932.4" font-family="Times,serif" font-size="12.00">runtime/internal/atomic.Or8</text>
<text text-anchor="middle" x="7301" y="-919.4" font-family="Times,serif" font-size="12.00">0.04s(0.8%)</text>
</a>
</g>
</g>
<!-- N64&#45;&gt;N79 -->
<g id="edge108" class="edge"><title>N64&#45;&gt;N79</title>
<g id="a_edge108"><a xlink:title="runtime.greyobject &#45;&gt; runtime/internal/atomic.Or8 (0.04s)">
<path fill="none" stroke="black" d="M7311.93,-1010.79C7309.8,-995.069 7306.96,-974.067 7304.71,-957.417"/>
<polygon fill="black" stroke="black" points="7308.14,-956.643 7303.33,-947.203 7301.2,-957.581 7308.14,-956.643"/>
</a>
</g>
<g id="a_edge108&#45;label"><a xlink:title="runtime.greyobject &#45;&gt; runtime/internal/atomic.Or8 (0.04s)">
<text text-anchor="middle" x="7330" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N73 -->
<g id="node74" class="node"><title>N73</title>
<g id="a_node74"><a xlink:title="runtime.rawstring (0.05s)">
<polygon fill="#f8f8f8" stroke="black" points="6514,-648 6410,-648 6410,-607 6514,-607 6514,-648"/>
<text text-anchor="middle" x="6462" y="-636" font-family="Times,serif" font-size="10.00">runtime.rawstring</text>
<text text-anchor="middle" x="6462" y="-625" font-family="Times,serif" font-size="10.00">0.01s(0.2%)</text>
<text text-anchor="middle" x="6462" y="-614" font-family="Times,serif" font-size="10.00">of 0.05s(1%)</text>
</a>
</g>
</g>
<!-- N66&#45;&gt;N73 -->
<g id="edge94" class="edge"><title>N66&#45;&gt;N73</title>
<g id="a_edge94"><a xlink:title="runtime.rawstringtmp &#45;&gt; runtime.rawstring (0.05s)">
<path fill="none" stroke="black" d="M6388.98,-707.941C6402.69,-693.025 6421.74,-672.301 6436.94,-655.759"/>
<polygon fill="black" stroke="black" points="6439.87,-657.749 6444.06,-648.019 6434.71,-653.012 6439.87,-657.749"/>
</a>
</g>
<g id="a_edge94&#45;label"><a xlink:title="runtime.rawstringtmp &#45;&gt; runtime.rawstring (0.05s)">
<text text-anchor="middle" x="6446" y="-672.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N76 -->
<g id="node77" class="node"><title>N76</title>
<g id="a_node77"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetBit (0.04s)">
<polygon fill="#f8f8f8" stroke="black" points="2470.5,-952.5 1789.5,-952.5 1789.5,-905.5 2470.5,-905.5 2470.5,-952.5"/>
<text text-anchor="middle" x="2130" y="-938.9" font-family="Times,serif" font-size="12.00">github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetBit</text>
<text text-anchor="middle" x="2130" y="-925.9" font-family="Times,serif" font-size="12.00">0.03s(0.6%)</text>
<text text-anchor="middle" x="2130" y="-912.9" font-family="Times,serif" font-size="12.00">of 0.04s(0.8%)</text>
</a>
</g>
</g>
<!-- N67&#45;&gt;N76 -->
<g id="edge97" class="edge"><title>N67&#45;&gt;N76</title>
<g id="a_edge97"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetSpouse &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetBit (0.04s)">
<path fill="none" stroke="black" d="M3068.59,-1013.97C2996.93,-1000.06 2896.21,-982.097 2807,-972 2661.93,-955.58 2624.72,-963.008 2479,-954 2474.44,-953.718 2469.86,-953.433 2465.24,-953.143"/>
<polygon fill="black" stroke="black" points="2465.29,-949.64 2455.09,-952.504 2464.85,-956.626 2465.29,-949.64"/>
</a>
</g>
<g id="a_edge97&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetSpouse &#45;&gt; github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetBit (0.04s)">
<text text-anchor="middle" x="2938" y="-975.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N68&#45;&gt;N9 -->
<g id="edge84" class="edge"><title>N68&#45;&gt;N9</title>
<g id="a_edge84"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).root &#45;&gt; runtime.duffcopy (0.05s)">
<path fill="none" stroke="black" d="M2711.17,-811.391C2708.85,-763.318 2702.21,-626.099 2698.91,-557.926"/>
<polygon fill="black" stroke="black" points="2702.39,-557.421 2698.41,-547.602 2695.4,-557.759 2702.39,-557.421"/>
</a>
</g>
<g id="a_edge84&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.(*Segment).root &#45;&gt; runtime.duffcopy (0.05s)">
<text text-anchor="middle" x="2727" y="-672.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N71 -->
<g id="node72" class="node"><title>N71</title>
<g id="a_node72"><a xlink:title="runtime.gosweepone (0.05s)">
<polygon fill="#f8f8f8" stroke="black" points="6927.5,-1274 6824.5,-1274 6824.5,-1238 6927.5,-1238 6927.5,-1274"/>
<text text-anchor="middle" x="6876" y="-1258.6" font-family="Times,serif" font-size="8.00">runtime.gosweepone</text>
<text text-anchor="middle" x="6876" y="-1249.6" font-family="Times,serif" font-size="8.00">0 of 0.05s(1%)</text>
</a>
</g>
</g>
<!-- N69&#45;&gt;N71 -->
<g id="edge88" class="edge"><title>N69&#45;&gt;N71</title>
<g id="a_edge88"><a xlink:title="runtime.bgsweep &#45;&gt; runtime.gosweepone (0.05s)">
<path fill="none" stroke="black" d="M5069.84,-1356.53C5318.25,-1342.84 6524.9,-1276.35 6813.77,-1260.43"/>
<polygon fill="black" stroke="black" points="6814.27,-1263.91 6824.06,-1259.86 6813.88,-1256.92 6814.27,-1263.91"/>
</a>
</g>
<g id="a_edge88&#45;label"><a xlink:title="runtime.bgsweep &#45;&gt; runtime.gosweepone (0.05s)">
<text text-anchor="middle" x="5973" y="-1308.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N78 -->
<g id="node79" class="node"><title>N78</title>
<g id="a_node79"><a xlink:title="runtime.freedefer (0.04s)">
<polygon fill="#f8f8f8" stroke="black" points="6138.5,-128 6007.5,-128 6007.5,-92 6138.5,-92 6138.5,-128"/>
<text text-anchor="middle" x="6073" y="-113.4" font-family="Times,serif" font-size="12.00">runtime.freedefer</text>
<text text-anchor="middle" x="6073" y="-100.4" font-family="Times,serif" font-size="12.00">0.04s(0.8%)</text>
</a>
</g>
</g>
<!-- N70&#45;&gt;N78 -->
<g id="edge107" class="edge"><title>N70&#45;&gt;N78</title>
<g id="a_edge107"><a xlink:title="runtime.deferreturn.func1 &#45;&gt; runtime.freedefer (0.04s)">
<path fill="none" stroke="black" d="M6072.22,-181.863C6072.36,-169.104 6072.54,-152.293 6072.7,-138.248"/>
<polygon fill="black" stroke="black" points="6076.2,-138.197 6072.81,-128.159 6069.2,-138.119 6076.2,-138.197"/>
</a>
</g>
<g id="a_edge107&#45;label"><a xlink:title="runtime.deferreturn.func1 &#45;&gt; runtime.freedefer (0.04s)">
<text text-anchor="middle" x="6095" y="-152.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N71&#45;&gt;N14 -->
<g id="edge92" class="edge"><title>N71&#45;&gt;N14</title>
<g id="a_edge92"><a xlink:title="runtime.gosweepone &#45;&gt; runtime.systemstack (0.05s)">
<path fill="none" stroke="black" d="M6927.74,-1255.58C7064.66,-1255.71 7426,-1246.51 7426,-1145.5 7426,-1145.5 7426,-1145.5 7426,-403.5 7426,-352.523 6675.82,-316.499 6407.23,-305.235"/>
<polygon fill="black" stroke="black" points="6407.25,-301.733 6397.11,-304.813 6406.96,-308.727 6407.25,-301.733"/>
</a>
</g>
<g id="a_edge92&#45;label"><a xlink:title="runtime.gosweepone &#45;&gt; runtime.systemstack (0.05s)">
<text text-anchor="middle" x="7448" y="-776.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N74 -->
<g id="node75" class="node"><title>N74</title>
<g id="a_node75"><a xlink:title="runtime.scanblock (0.05s)">
<polygon fill="#f8f8f8" stroke="black" points="7318,-1168 7184,-1168 7184,-1121 7318,-1121 7318,-1168"/>
<text text-anchor="middle" x="7251" y="-1154.4" font-family="Times,serif" font-size="12.00">runtime.scanblock</text>
<text text-anchor="middle" x="7251" y="-1141.4" font-family="Times,serif" font-size="12.00">0.04s(0.8%)</text>
<text text-anchor="middle" x="7251" y="-1128.4" font-family="Times,serif" font-size="12.00">of 0.05s(1%)</text>
</a>
</g>
</g>
<!-- N72&#45;&gt;N74 -->
<g id="edge93" class="edge"><title>N72&#45;&gt;N74</title>
<g id="a_edge93"><a xlink:title="runtime.markrootBlock &#45;&gt; runtime.scanblock (0.05s)">
<path fill="none" stroke="black" d="M5126.61,-1237.87C5137.78,-1232.68 5150.64,-1227.66 5163,-1225 5272,-1201.51 7064.48,-1243.05 7170,-1207 7189.17,-1200.45 7207.43,-1187.42 7221.74,-1175.03"/>
<polygon fill="black" stroke="black" points="7224.18,-1177.54 7229.27,-1168.25 7219.5,-1172.34 7224.18,-1177.54"/>
</a>
</g>
<g id="a_edge93&#45;label"><a xlink:title="runtime.markrootBlock &#45;&gt; runtime.scanblock (0.05s)">
<text text-anchor="middle" x="7219" y="-1195.8" font-family="Times,serif" font-size="14.00"> 0.05s</text>
</a>
</g>
</g>
<!-- N73&#45;&gt;N11 -->
<g id="edge109" class="edge"><title>N73&#45;&gt;N11</title>
<g id="a_edge109"><a xlink:title="runtime.rawstring &#45;&gt; runtime.mallocgc (0.04s)">
<path fill="none" stroke="black" d="M6483.99,-606.788C6496.02,-596.095 6511.23,-582.707 6525,-571 6529.42,-567.243 6534.04,-563.366 6538.68,-559.5"/>
<polygon fill="black" stroke="black" points="6541.02,-562.105 6546.48,-553.027 6536.55,-556.716 6541.02,-562.105"/>
</a>
</g>
<g id="a_edge109&#45;label"><a xlink:title="runtime.rawstring &#45;&gt; runtime.mallocgc (0.04s)">
<text text-anchor="middle" x="6547" y="-574.8" font-family="Times,serif" font-size="14.00"> 0.04s</text>
</a>
</g>
</g>
<!-- N74&#45;&gt;N64 -->
<g id="edge127" class="edge"><title>N74&#45;&gt;N64</title>
<g id="a_edge127"><a xlink:title="runtime.scanblock &#45;&gt; runtime.greyobject (0.01s)">
<path fill="none" stroke="black" d="M7264.42,-1120.86C7273.72,-1105.16 7286.23,-1084.06 7296.48,-1066.76"/>
<polygon fill="black" stroke="black" points="7299.51,-1068.5 7301.6,-1058.11 7293.49,-1064.93 7299.51,-1068.5"/>
</a>
</g>
<g id="a_edge127&#45;label"><a xlink:title="runtime.scanblock &#45;&gt; runtime.greyobject (0.01s)">
<text text-anchor="middle" x="7308" y="-1085.8" font-family="Times,serif" font-size="14.00"> 0.01s</text>
</a>
</g>
</g>
<!-- N75&#45;&gt;N9 -->
<g id="edge120" class="edge"><title>N75&#45;&gt;N9</title>
<g id="a_edge120"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetMoney &#45;&gt; runtime.duffcopy (0.01s)">
<path fill="none" stroke="black" d="M269.968,-1013.96C311.223,-998.927 352,-973.149 352,-930 352,-930 352,-930 352,-675.5 352,-617.809 377.814,-597.613 429,-571 524.614,-521.288 2114.88,-518.205 2573.89,-518.356"/>
<polygon fill="black" stroke="black" points="2574.19,-521.856 2584.19,-518.36 2574.19,-514.856 2574.19,-521.856"/>
</a>
</g>
<g id="a_edge120&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks.Capnp2A.SetMoney &#45;&gt; runtime.duffcopy (0.01s)">
<text text-anchor="middle" x="374" y="-776.8" font-family="Times,serif" font-size="14.00"> 0.01s</text>
</a>
</g>
</g>
<!-- N76&#45;&gt;N9 -->
<g id="edge125" class="edge"><title>N76&#45;&gt;N9</title>
<g id="a_edge125"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetBit &#45;&gt; runtime.duffcopy (0.01s)">
<path fill="none" stroke="black" d="M2223.73,-905.461C2242.94,-899.862 2262.83,-893.332 2281,-886 2309.58,-874.464 2317.19,-871.294 2342,-853 2366.03,-835.28 2365.4,-822.927 2390,-806 2434.72,-775.22 2453.72,-781.686 2501,-755 2572.6,-714.585 2604.65,-716.763 2654,-651 2674.62,-623.522 2685.6,-585.74 2691.28,-557.551"/>
<polygon fill="black" stroke="black" points="2694.74,-558.111 2693.15,-547.636 2687.86,-556.818 2694.74,-558.111"/>
</a>
</g>
<g id="a_edge125&#45;label"><a xlink:title="github.com/alecthomas/go_serialization_benchmarks/vendor/zombiezen.com/go/capnproto2.Struct.SetBit &#45;&gt; runtime.duffcopy (0.01s)">
<text text-anchor="middle" x="2625" y="-724.8" font-family="Times,serif" font-size="14.00"> 0.01s</text>
</a>
</g>
</g>
</g>
</g></svg>
21:50:54 $ go test -cpuprofile=cpu.out -bench='.*' ./
A test suite for benchmarking various Go serialization methods.
See README.md for details on running the benchmarks.
BenchmarkCapNProto2Marshal-4 2000000 673 ns/op 244 B/op 3 allocs/op
BenchmarkCapNProto2Unmarshal-4 2000000 944 ns/op 320 B/op 6 allocs/op
PASS
ok github.com/alecthomas/go_serialization_benchmarks 4.921s
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21:53:22 $ go test -cpuprofile=cpu.out -bench='.*' ./
A test suite for benchmarking various Go serialization methods.
See README.md for details on running the benchmarks.
BenchmarkCapNProto2Marshal-4 1000000 1060 ns/op 244 B/op 3 allocs/op
BenchmarkCapNProto2Unmarshal-4 1000000 1063 ns/op 320 B/op 6 allocs/op
PASS
ok github.com/alecthomas/go_serialization_benchmarks 2.179s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment