Skip to content

Instantly share code, notes, and snippets.

@tumdum
Last active September 26, 2016 20:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tumdum/a10e1fea3c8edf9e7f04719ce4714214 to your computer and use it in GitHub Desktop.
Save tumdum/a10e1fea3c8edf9e7f04719ce4714214 to your computer and use it in GitHub Desktop.
Cost of stating files while walking linux kernel tree 4.7.5
package main
import (
"fmt"
"log"
"os"
"path/filepath"
"runtime/pprof"
)
// #include <dirent.h>
import "C"
type FileInfo struct {
Name string
Type uint8
}
func (f FileInfo) IsDirectory() bool {
return f.Type&C.DT_DIR != 0
}
func (f FileInfo) IsSymbolicLink() bool {
return f.Type&C.DT_LNK != 0
}
func (f FileInfo) IsRegularFile() bool {
return f.Type&C.DT_REG != 0
}
type WalkFunc func(path string, info FileInfo)
func Walk(path string, walkFunc WalkFunc) error {
f, err := os.Open(path)
if err != nil {
return err
}
dir := C.fdopendir(C.int(f.Fd()))
for {
dirent := C.readdir(dir)
if dirent == nil {
break
}
info := FileInfo{C.GoString((*C.char)(&dirent.d_name[0])), uint8(dirent.d_type)}
if info.Name == "." || info.Name == ".." {
continue
}
fullPath := path + "/" + info.Name
walkFunc(fullPath, info)
if info.IsDirectory() {
Walk(fullPath, walkFunc)
}
}
f.Close()
return nil
}
func main() {
if len(os.Args) != 2 {
log.Fatal("need one arg")
}
f, err := os.Create(os.Args[1] + ".prof")
if err != nil {
log.Fatal(err)
}
pprof.StartCPUProfile(f)
defer pprof.StopCPUProfile()
if os.Args[1] == "cgo" {
Walk(".", func(name string, info FileInfo) {
fmt.Println(name)
})
} else if os.Args[1] == "pure" {
filepath.Walk(".", func(name string, info os.FileInfo, err error) error {
fmt.Println(name)
return nil
})
}
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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: cgowalk Pages: 1 -->
<svg width="582" height="976" 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 <a.leofreddi@itcharm.com>. 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 1948)">
<title>cgowalk</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1948 1161.5,-1948 1161.5,4 -4,4"/>
<g id="clust1" class="cluster"><title>cluster_L</title>
<polygon fill="none" stroke="black" points="84,-1807 84,-1936 514,-1936 514,-1807 84,-1807"/>
</g>
<!-- L -->
<g id="node1" class="node"><title>L</title>
<polygon fill="#f8f8f8" stroke="black" points="506,-1928 92,-1928 92,-1815 506,-1815 506,-1928"/>
<text text-anchor="start" x="100" y="-1898.4" font-family="Times,serif" font-size="32.00">File: cgowalk</text>
<text text-anchor="start" x="100" y="-1863.4" font-family="Times,serif" font-size="32.00">Type: cpu</text>
<text text-anchor="start" x="100" y="-1828.4" font-family="Times,serif" font-size="32.00">430ms of 430ms total ( &#160;100%)</text>
</g>
<!-- N1 -->
<g id="node2" class="node"><title>N1</title>
<g id="a_node2"><a xlink:title="syscall.Syscall (230ms)">
<polygon fill="#f8f8f8" stroke="black" points="647.5,-756 476.5,-756 476.5,-696 647.5,-696 647.5,-756"/>
<text text-anchor="middle" x="562" y="-732.8" font-family="Times,serif" font-size="24.00">syscall.Syscall</text>
<text text-anchor="middle" x="562" y="-706.8" font-family="Times,serif" font-size="24.00">230ms(53.49%)</text>
</a>
</g>
</g>
<!-- N2 -->
<g id="node3" class="node"><title>N2</title>
<g id="a_node3"><a xlink:title="path/filepath.Clean (30ms)">
<polygon fill="#f8f8f8" stroke="black" points="182,-1217 62,-1217 62,-1179 182,-1179 182,-1217"/>
<text text-anchor="middle" x="122" y="-1201.8" font-family="Times,serif" font-size="14.00">path/filepath.Clean</text>
<text text-anchor="middle" x="122" y="-1186.8" font-family="Times,serif" font-size="14.00">30ms(6.98%)</text>
</a>
</g>
</g>
<!-- N3 -->
<g id="node4" class="node"><title>N3</title>
<g id="a_node4"><a xlink:title="runtime.mallocgc (40ms)">
<polygon fill="#f8f8f8" stroke="black" points="199.5,-752.5 86.5,-752.5 86.5,-699.5 199.5,-699.5 199.5,-752.5"/>
<text text-anchor="middle" x="143" y="-737.3" font-family="Times,serif" font-size="14.00">runtime.mallocgc</text>
<text text-anchor="middle" x="143" y="-722.3" font-family="Times,serif" font-size="14.00">30ms(6.98%)</text>
<text text-anchor="middle" x="143" y="-707.3" font-family="Times,serif" font-size="14.00">of 40ms(9.30%)</text>
</a>
</g>
</g>
<!-- N28 -->
<g id="node29" class="node"><title>N28</title>
<g id="a_node29"><a xlink:title="runtime.(*mcache).nextFree (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="197.5,-645 88.5,-645 88.5,-609 197.5,-609 197.5,-645"/>
<text text-anchor="middle" x="143" y="-629.6" font-family="Times,serif" font-size="8.00">runtime.(*mcache).nextFree</text>
<text text-anchor="middle" x="143" y="-620.6" font-family="Times,serif" font-size="8.00">0 of 10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N3&#45;&gt;N28 -->
<g id="edge54" class="edge"><title>N3&#45;&gt;N28</title>
<g id="a_edge54"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.(*mcache).nextFree (10ms)">
<path fill="none" stroke="black" d="M143,-699.26C143,-685.797 143,-669.308 143,-655.583"/>
<polygon fill="black" stroke="black" points="146.5,-655.279 143,-645.279 139.5,-655.279 146.5,-655.279"/>
</a>
</g>
<g id="a_edge54&#45;label"><a xlink:title="runtime.mallocgc &#45;&gt; runtime.(*mcache).nextFree (10ms)">
<text text-anchor="middle" x="160" y="-666.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N4 -->
<g id="node5" class="node"><title>N4</title>
<g id="a_node5"><a xlink:title="syscall.Syscall6 (30ms)">
<polygon fill="#f8f8f8" stroke="black" points="964.5,-932 861.5,-932 861.5,-894 964.5,-894 964.5,-932"/>
<text text-anchor="middle" x="913" y="-916.8" font-family="Times,serif" font-size="14.00">syscall.Syscall6</text>
<text text-anchor="middle" x="913" y="-901.8" font-family="Times,serif" font-size="14.00">30ms(6.98%)</text>
</a>
</g>
</g>
<!-- N5 -->
<g id="node6" class="node"><title>N5</title>
<g id="a_node6"><a xlink:title="fmt.Println (110ms)">
<polygon fill="#f8f8f8" stroke="black" points="503,-1318 387,-1318 387,-1268 503,-1268 503,-1318"/>
<text text-anchor="middle" x="445" y="-1303.6" font-family="Times,serif" font-size="13.00">fmt.Println</text>
<text text-anchor="middle" x="445" y="-1289.6" font-family="Times,serif" font-size="13.00">20ms(4.65%)</text>
<text text-anchor="middle" x="445" y="-1275.6" font-family="Times,serif" font-size="13.00">of 110ms(25.58%)</text>
</a>
</g>
</g>
<!-- N14 -->
<g id="node15" class="node"><title>N14</title>
<g id="a_node15"><a xlink:title="fmt.Fprintln (90ms)">
<polygon fill="#f8f8f8" stroke="black" points="374,-1216 296,-1216 296,-1180 374,-1180 374,-1216"/>
<text text-anchor="middle" x="335" y="-1200.6" font-family="Times,serif" font-size="8.00">fmt.Fprintln</text>
<text text-anchor="middle" x="335" y="-1191.6" font-family="Times,serif" font-size="8.00">0 of 90ms(20.93%)</text>
</a>
</g>
</g>
<!-- N5&#45;&gt;N14 -->
<g id="edge12" class="edge"><title>N5&#45;&gt;N14</title>
<g id="a_edge12"><a xlink:title="fmt.Println &#45;&gt; fmt.Fprintln (90ms)">
<path fill="none" stroke="black" stroke-width="2" d="M416.386,-1267.81C399.865,-1253.84 379.181,-1236.35 362.8,-1222.5"/>
<polygon fill="black" stroke="black" stroke-width="2" points="365.037,-1219.81 355.141,-1216.03 360.517,-1225.16 365.037,-1219.81"/>
</a>
</g>
<g id="a_edge12&#45;label"><a xlink:title="fmt.Println &#45;&gt; fmt.Fprintln (90ms)">
<text text-anchor="middle" x="411" y="-1238.8" font-family="Times,serif" font-size="14.00"> 90ms</text>
</a>
</g>
</g>
<!-- N6 -->
<g id="node7" class="node"><title>N6</title>
<g id="a_node7"><a xlink:title="runtime.cmpbody (20ms)">
<polygon fill="#f8f8f8" stroke="black" points="1132,-744 1022,-744 1022,-708 1132,-708 1132,-744"/>
<text text-anchor="middle" x="1077" y="-729.6" font-family="Times,serif" font-size="13.00">runtime.cmpbody</text>
<text text-anchor="middle" x="1077" y="-715.6" font-family="Times,serif" font-size="13.00">20ms(4.65%)</text>
</a>
</g>
</g>
<!-- N7 -->
<g id="node8" class="node"><title>N7</title>
<g id="a_node8"><a xlink:title="os.(*File).Write (90ms)">
<polygon fill="#f8f8f8" stroke="black" points="384.5,-1128 285.5,-1128 285.5,-1081 384.5,-1081 384.5,-1128"/>
<text text-anchor="middle" x="335" y="-1114.4" font-family="Times,serif" font-size="12.00">os.(*File).Write</text>
<text text-anchor="middle" x="335" y="-1101.4" font-family="Times,serif" font-size="12.00">10ms(2.33%)</text>
<text text-anchor="middle" x="335" y="-1088.4" font-family="Times,serif" font-size="12.00">of 90ms(20.93%)</text>
</a>
</g>
</g>
<!-- N8 -->
<g id="node9" class="node"><title>N8</title>
<g id="a_node9"><a xlink:title="os.(*File).write (80ms)">
<polygon fill="#f8f8f8" stroke="black" points="384.5,-1030 285.5,-1030 285.5,-983 384.5,-983 384.5,-1030"/>
<text text-anchor="middle" x="335" y="-1016.4" font-family="Times,serif" font-size="12.00">os.(*File).write</text>
<text text-anchor="middle" x="335" y="-1003.4" font-family="Times,serif" font-size="12.00">10ms(2.33%)</text>
<text text-anchor="middle" x="335" y="-990.4" font-family="Times,serif" font-size="12.00">of 80ms(18.60%)</text>
</a>
</g>
</g>
<!-- N7&#45;&gt;N8 -->
<g id="edge13" class="edge"><title>N7&#45;&gt;N8</title>
<g id="a_edge13"><a xlink:title="os.(*File).Write &#45;&gt; os.(*File).write (80ms)">
<path fill="none" stroke="black" d="M335,-1080.75C335,-1068.67 335,-1053.62 335,-1040.3"/>
<polygon fill="black" stroke="black" points="338.5,-1040.09 335,-1030.09 331.5,-1040.09 338.5,-1040.09"/>
</a>
</g>
<g id="a_edge13&#45;label"><a xlink:title="os.(*File).Write &#45;&gt; os.(*File).write (80ms)">
<text text-anchor="middle" x="352" y="-1051.8" font-family="Times,serif" font-size="14.00"> 80ms</text>
</a>
</g>
</g>
<!-- N56 -->
<g id="node57" class="node"><title>N56</title>
<g id="a_node57"><a xlink:title="syscall.Write (70ms)">
<polygon fill="#f8f8f8" stroke="black" points="464,-931 386,-931 386,-895 464,-895 464,-931"/>
<text text-anchor="middle" x="425" y="-915.6" font-family="Times,serif" font-size="8.00">syscall.Write</text>
<text text-anchor="middle" x="425" y="-906.6" font-family="Times,serif" font-size="8.00">0 of 70ms(16.28%)</text>
</a>
</g>
</g>
<!-- N8&#45;&gt;N56 -->
<g id="edge14" class="edge"><title>N8&#45;&gt;N56</title>
<g id="a_edge14"><a xlink:title="os.(*File).write &#45;&gt; syscall.Write (70ms)">
<path fill="none" stroke="black" d="M357.247,-982.882C370.511,-969.397 387.354,-952.273 400.928,-938.473"/>
<polygon fill="black" stroke="black" points="403.573,-940.776 408.09,-931.192 398.582,-935.867 403.573,-940.776"/>
</a>
</g>
<g id="a_edge14&#45;label"><a xlink:title="os.(*File).write &#45;&gt; syscall.Write (70ms)">
<text text-anchor="middle" x="406" y="-953.8" font-family="Times,serif" font-size="14.00"> 70ms</text>
</a>
</g>
</g>
<!-- N9 -->
<g id="node10" class="node"><title>N9</title>
<g id="a_node10"><a xlink:title="os.(*fileStat).IsDir (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="307,-1405 203,-1405 203,-1369 307,-1369 307,-1405"/>
<text text-anchor="middle" x="255" y="-1390.4" font-family="Times,serif" font-size="12.00">os.(*fileStat).IsDir</text>
<text text-anchor="middle" x="255" y="-1377.4" font-family="Times,serif" font-size="12.00">10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N10 -->
<g id="node11" class="node"><title>N10</title>
<g id="a_node11"><a xlink:title="path/filepath.walk (430ms)">
<polygon fill="#f8f8f8" stroke="black" points="612.5,-1503 511.5,-1503 511.5,-1456 612.5,-1456 612.5,-1503"/>
<text text-anchor="middle" x="562" y="-1489.4" font-family="Times,serif" font-size="12.00">path/filepath.walk</text>
<text text-anchor="middle" x="562" y="-1476.4" font-family="Times,serif" font-size="12.00">10ms(2.33%)</text>
<text text-anchor="middle" x="562" y="-1463.4" font-family="Times,serif" font-size="12.00">of 430ms(100%)</text>
</a>
</g>
</g>
<!-- N10&#45;&gt;N9 -->
<g id="edge45" class="edge"><title>N10&#45;&gt;N9</title>
<g id="a_edge45"><a xlink:title="path/filepath.walk &#45;&gt; os.(*fileStat).IsDir (10ms)">
<path fill="none" stroke="black" d="M511.153,-1467.5C478.113,-1460.01 434.233,-1449.41 396,-1438 366.98,-1429.34 335.144,-1418.19 309.077,-1408.63"/>
<polygon fill="black" stroke="black" points="309.981,-1405.23 299.387,-1405.04 307.554,-1411.79 309.981,-1405.23"/>
</a>
</g>
<g id="a_edge45&#45;label"><a xlink:title="path/filepath.walk &#45;&gt; os.(*fileStat).IsDir (10ms)">
<text text-anchor="middle" x="413" y="-1426.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N16 -->
<g id="node17" class="node"><title>N16</title>
<g id="a_node17"><a xlink:title="main.main.func2 (120ms)">
<polygon fill="#f8f8f8" stroke="black" points="503,-1405 421,-1405 421,-1369 503,-1369 503,-1405"/>
<text text-anchor="middle" x="462" y="-1389.6" font-family="Times,serif" font-size="8.00">main.main.func2</text>
<text text-anchor="middle" x="462" y="-1380.6" font-family="Times,serif" font-size="8.00">0 of 120ms(27.91%)</text>
</a>
</g>
</g>
<!-- N10&#45;&gt;N16 -->
<g id="edge6" class="edge"><title>N10&#45;&gt;N16</title>
<g id="a_edge6"><a xlink:title="path/filepath.walk &#45;&gt; main.main.func2 (120ms)">
<path fill="none" stroke="black" stroke-width="2" d="M536.752,-1455.82C530.306,-1450.01 523.392,-1443.78 517,-1438 507.673,-1429.56 497.477,-1420.3 488.425,-1412.07"/>
<polygon fill="black" stroke="black" stroke-width="2" points="490.568,-1409.29 480.816,-1405.15 485.857,-1414.47 490.568,-1409.29"/>
</a>
</g>
<g id="a_edge6&#45;label"><a xlink:title="path/filepath.walk &#45;&gt; main.main.func2 (120ms)">
<text text-anchor="middle" x="537.5" y="-1426.8" font-family="Times,serif" font-size="14.00"> 120ms</text>
</a>
</g>
</g>
<!-- N21 -->
<g id="node22" class="node"><title>N21</title>
<g id="a_node22"><a xlink:title="os.Lstat (110ms)">
<polygon fill="#f8f8f8" stroke="black" points="603,-1405 521,-1405 521,-1369 603,-1369 603,-1405"/>
<text text-anchor="middle" x="562" y="-1389.6" font-family="Times,serif" font-size="8.00">os.Lstat</text>
<text text-anchor="middle" x="562" y="-1380.6" font-family="Times,serif" font-size="8.00">0 of 110ms(25.58%)</text>
</a>
</g>
</g>
<!-- N10&#45;&gt;N21 -->
<g id="edge9" class="edge"><title>N10&#45;&gt;N21</title>
<g id="a_edge9"><a xlink:title="path/filepath.walk &#45;&gt; os.Lstat (110ms)">
<path fill="none" stroke="black" stroke-width="2" d="M562,-1455.66C562,-1443.39 562,-1428.18 562,-1415.28"/>
<polygon fill="black" stroke="black" stroke-width="2" points="565.5,-1415.12 562,-1405.12 558.5,-1415.12 565.5,-1415.12"/>
</a>
</g>
<g id="a_edge9&#45;label"><a xlink:title="path/filepath.walk &#45;&gt; os.Lstat (110ms)">
<text text-anchor="middle" x="582.5" y="-1426.8" font-family="Times,serif" font-size="14.00"> 110ms</text>
</a>
</g>
</g>
<!-- N24 -->
<g id="node25" class="node"><title>N24</title>
<g id="a_node25"><a xlink:title="path/filepath.Join (50ms)">
<polygon fill="#f8f8f8" stroke="black" points="403,-1405 325,-1405 325,-1369 403,-1369 403,-1405"/>
<text text-anchor="middle" x="364" y="-1389.6" font-family="Times,serif" font-size="8.00">path/filepath.Join</text>
<text text-anchor="middle" x="364" y="-1380.6" font-family="Times,serif" font-size="8.00">0 of 50ms(11.63%)</text>
</a>
</g>
</g>
<!-- N10&#45;&gt;N24 -->
<g id="edge20" class="edge"><title>N10&#45;&gt;N24</title>
<g id="a_edge20"><a xlink:title="path/filepath.walk &#45;&gt; path/filepath.Join (50ms)">
<path fill="none" stroke="black" d="M511.343,-1458.38C496.032,-1452.08 479.243,-1444.95 464,-1438 444.599,-1429.15 423.435,-1418.69 405.593,-1409.63"/>
<polygon fill="black" stroke="black" points="407.091,-1406.47 396.593,-1405.04 403.908,-1412.7 407.091,-1406.47"/>
</a>
</g>
<g id="a_edge20&#45;label"><a xlink:title="path/filepath.walk &#45;&gt; path/filepath.Join (50ms)">
<text text-anchor="middle" x="481" y="-1426.8" font-family="Times,serif" font-size="14.00"> 50ms</text>
</a>
</g>
</g>
<!-- N27 -->
<g id="node28" class="node"><title>N27</title>
<g id="a_node28"><a xlink:title="path/filepath.readDirNames (130ms)">
<polygon fill="#f8f8f8" stroke="black" points="728.5,-1405 621.5,-1405 621.5,-1369 728.5,-1369 728.5,-1405"/>
<text text-anchor="middle" x="675" y="-1389.6" font-family="Times,serif" font-size="8.00">path/filepath.readDirNames</text>
<text text-anchor="middle" x="675" y="-1380.6" font-family="Times,serif" font-size="8.00">0 of 130ms(30.23%)</text>
</a>
</g>
</g>
<!-- N10&#45;&gt;N27 -->
<g id="edge5" class="edge"><title>N10&#45;&gt;N27</title>
<g id="a_edge5"><a xlink:title="path/filepath.walk &#45;&gt; path/filepath.readDirNames (130ms)">
<path fill="none" stroke="black" stroke-width="2" d="M590.223,-1455.9C607.077,-1442.4 628.453,-1425.28 645.523,-1411.61"/>
<polygon fill="black" stroke="black" stroke-width="2" points="647.902,-1414.19 653.519,-1405.2 643.526,-1408.72 647.902,-1414.19"/>
</a>
</g>
<g id="a_edge5&#45;label"><a xlink:title="path/filepath.walk &#45;&gt; path/filepath.readDirNames (130ms)">
<text text-anchor="middle" x="649.5" y="-1426.8" font-family="Times,serif" font-size="14.00"> 130ms</text>
</a>
</g>
</g>
<!-- N11 -->
<g id="node12" class="node"><title>N11</title>
<g id="a_node12"><a xlink:title="runtime.memclr (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="188.5,-36 97.5,-36 97.5,-0 188.5,-0 188.5,-36"/>
<text text-anchor="middle" x="143" y="-21.4" font-family="Times,serif" font-size="12.00">runtime.memclr</text>
<text text-anchor="middle" x="143" y="-8.4" font-family="Times,serif" font-size="12.00">10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N12 -->
<g id="node13" class="node"><title>N12</title>
<g id="a_node13"><a xlink:title="sort.insertionSort (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="1157.5,-1024.5 1060.5,-1024.5 1060.5,-988.5 1157.5,-988.5 1157.5,-1024.5"/>
<text text-anchor="middle" x="1109" y="-1009.9" font-family="Times,serif" font-size="12.00">sort.insertionSort</text>
<text text-anchor="middle" x="1109" y="-996.9" font-family="Times,serif" font-size="12.00">10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N13 -->
<g id="node14" class="node"><title>N13</title>
<g id="a_node14"><a xlink:title="syscall.BytePtrFromString (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="533.5,-1216 392.5,-1216 392.5,-1180 533.5,-1180 533.5,-1216"/>
<text text-anchor="middle" x="463" y="-1201.4" font-family="Times,serif" font-size="12.00">syscall.BytePtrFromString</text>
<text text-anchor="middle" x="463" y="-1188.4" font-family="Times,serif" font-size="12.00">10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N14&#45;&gt;N7 -->
<g id="edge11" class="edge"><title>N14&#45;&gt;N7</title>
<g id="a_edge11"><a xlink:title="fmt.Fprintln &#45;&gt; os.(*File).Write (90ms)">
<path fill="none" stroke="black" stroke-width="2" d="M335,-1179.79C335,-1168.16 335,-1152.42 335,-1138.43"/>
<polygon fill="black" stroke="black" stroke-width="2" points="338.5,-1138.17 335,-1128.17 331.5,-1138.17 338.5,-1138.17"/>
</a>
</g>
<g id="a_edge11&#45;label"><a xlink:title="fmt.Fprintln &#45;&gt; os.(*File).Write (90ms)">
<text text-anchor="middle" x="352" y="-1149.8" font-family="Times,serif" font-size="14.00"> 90ms</text>
</a>
</g>
</g>
<!-- N15 -->
<g id="node16" class="node"><title>N15</title>
<g id="a_node16"><a xlink:title="main.main (430ms)">
<polygon fill="#f8f8f8" stroke="black" points="600,-1677 524,-1677 524,-1641 600,-1641 600,-1677"/>
<text text-anchor="middle" x="562" y="-1661.6" font-family="Times,serif" font-size="8.00">main.main</text>
<text text-anchor="middle" x="562" y="-1652.6" font-family="Times,serif" font-size="8.00">0 of 430ms(100%)</text>
</a>
</g>
</g>
<!-- N25 -->
<g id="node26" class="node"><title>N25</title>
<g id="a_node26"><a xlink:title="path/filepath.Walk (430ms)">
<polygon fill="#f8f8f8" stroke="black" points="600.5,-1590 523.5,-1590 523.5,-1554 600.5,-1554 600.5,-1590"/>
<text text-anchor="middle" x="562" y="-1574.6" font-family="Times,serif" font-size="8.00">path/filepath.Walk</text>
<text text-anchor="middle" x="562" y="-1565.6" font-family="Times,serif" font-size="8.00">0 of 430ms(100%)</text>
</a>
</g>
</g>
<!-- N15&#45;&gt;N25 -->
<g id="edge1" class="edge"><title>N15&#45;&gt;N25</title>
<g id="a_edge1"><a xlink:title="main.main &#45;&gt; path/filepath.Walk (430ms)">
<path fill="none" stroke="black" stroke-width="6" d="M562,-1640.8C562,-1629.16 562,-1613.55 562,-1600.24"/>
<polygon fill="black" stroke="black" stroke-width="6" points="567.25,-1600.18 562,-1590.18 556.75,-1600.18 567.25,-1600.18"/>
</a>
</g>
<g id="a_edge1&#45;label"><a xlink:title="main.main &#45;&gt; path/filepath.Walk (430ms)">
<text text-anchor="middle" x="582.5" y="-1611.8" font-family="Times,serif" font-size="14.00"> 430ms</text>
</a>
</g>
</g>
<!-- N16&#45;&gt;N5 -->
<g id="edge7" class="edge"><title>N16&#45;&gt;N5</title>
<g id="a_edge7"><a xlink:title="main.main.func2 &#45;&gt; fmt.Println (110ms)">
<path fill="none" stroke="black" stroke-width="2" d="M458.802,-1368.7C456.702,-1357.33 453.883,-1342.07 451.34,-1328.31"/>
<polygon fill="black" stroke="black" stroke-width="2" points="454.725,-1327.37 449.466,-1318.17 447.842,-1328.64 454.725,-1327.37"/>
</a>
</g>
<g id="a_edge7&#45;label"><a xlink:title="main.main.func2 &#45;&gt; fmt.Println (110ms)">
<text text-anchor="middle" x="476.5" y="-1339.8" font-family="Times,serif" font-size="14.00"> 110ms</text>
</a>
</g>
</g>
<!-- N34 -->
<g id="node35" class="node"><title>N34</title>
<g id="a_node35"><a xlink:title="runtime.convT2E (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="335,-1311 261,-1311 261,-1275 335,-1275 335,-1311"/>
<text text-anchor="middle" x="298" y="-1295.6" font-family="Times,serif" font-size="8.00">runtime.convT2E</text>
<text text-anchor="middle" x="298" y="-1286.6" font-family="Times,serif" font-size="8.00">0 of 10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N16&#45;&gt;N34 -->
<g id="edge43" class="edge"><title>N16&#45;&gt;N34</title>
<g id="a_edge43"><a xlink:title="main.main.func2 &#45;&gt; runtime.convT2E (10ms)">
<path fill="none" stroke="black" d="M431.537,-1368.91C405.04,-1354.05 366.47,-1332.41 337.587,-1316.21"/>
<polygon fill="black" stroke="black" points="339.011,-1312.99 328.577,-1311.15 335.587,-1319.1 339.011,-1312.99"/>
</a>
</g>
<g id="a_edge43&#45;label"><a xlink:title="main.main.func2 &#45;&gt; runtime.convT2E (10ms)">
<text text-anchor="middle" x="417" y="-1339.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N17 -->
<g id="node18" class="node"><title>N17</title>
<g id="a_node18"><a xlink:title="os.(*File).Close (20ms)">
<polygon fill="#f8f8f8" stroke="black" points="817,-1311 743,-1311 743,-1275 817,-1275 817,-1311"/>
<text text-anchor="middle" x="780" y="-1295.6" font-family="Times,serif" font-size="8.00">os.(*File).Close</text>
<text text-anchor="middle" x="780" y="-1286.6" font-family="Times,serif" font-size="8.00">0 of 20ms(4.65%)</text>
</a>
</g>
</g>
<!-- N20 -->
<g id="node21" class="node"><title>N20</title>
<g id="a_node21"><a xlink:title="os.(*file).close (20ms)">
<polygon fill="#f8f8f8" stroke="black" points="822,-1216 748,-1216 748,-1180 822,-1180 822,-1216"/>
<text text-anchor="middle" x="785" y="-1200.6" font-family="Times,serif" font-size="8.00">os.(*file).close</text>
<text text-anchor="middle" x="785" y="-1191.6" font-family="Times,serif" font-size="8.00">0 of 20ms(4.65%)</text>
</a>
</g>
</g>
<!-- N17&#45;&gt;N20 -->
<g id="edge33" class="edge"><title>N17&#45;&gt;N20</title>
<g id="a_edge33"><a xlink:title="os.(*File).Close &#45;&gt; os.(*file).close (20ms)">
<path fill="none" stroke="black" d="M780.917,-1274.94C781.646,-1261.39 782.679,-1242.18 783.523,-1226.47"/>
<polygon fill="black" stroke="black" points="787.03,-1226.44 784.072,-1216.26 780.04,-1226.06 787.03,-1226.44"/>
</a>
</g>
<g id="a_edge33&#45;label"><a xlink:title="os.(*File).Close &#45;&gt; os.(*file).close (20ms)">
<text text-anchor="middle" x="800" y="-1238.8" font-family="Times,serif" font-size="14.00"> 20ms</text>
</a>
</g>
</g>
<!-- N18 -->
<g id="node19" class="node"><title>N18</title>
<g id="a_node19"><a xlink:title="os.(*File).Readdirnames (50ms)">
<polygon fill="#f8f8f8" stroke="black" points="723,-1311 627,-1311 627,-1275 723,-1275 723,-1311"/>
<text text-anchor="middle" x="675" y="-1295.6" font-family="Times,serif" font-size="8.00">os.(*File).Readdirnames</text>
<text text-anchor="middle" x="675" y="-1286.6" font-family="Times,serif" font-size="8.00">0 of 50ms(11.63%)</text>
</a>
</g>
</g>
<!-- N19 -->
<g id="node20" class="node"><title>N19</title>
<g id="a_node20"><a xlink:title="os.(*File).readdirnames (50ms)">
<polygon fill="#f8f8f8" stroke="black" points="722,-1216 628,-1216 628,-1180 722,-1180 722,-1216"/>
<text text-anchor="middle" x="675" y="-1200.6" font-family="Times,serif" font-size="8.00">os.(*File).readdirnames</text>
<text text-anchor="middle" x="675" y="-1191.6" font-family="Times,serif" font-size="8.00">0 of 50ms(11.63%)</text>
</a>
</g>
</g>
<!-- N18&#45;&gt;N19 -->
<g id="edge17" class="edge"><title>N18&#45;&gt;N19</title>
<g id="a_edge17"><a xlink:title="os.(*File).Readdirnames &#45;&gt; os.(*File).readdirnames (50ms)">
<path fill="none" stroke="black" d="M675,-1274.94C675,-1261.39 675,-1242.18 675,-1226.47"/>
<polygon fill="black" stroke="black" points="678.5,-1226.26 675,-1216.26 671.5,-1226.26 678.5,-1226.26"/>
</a>
</g>
<g id="a_edge17&#45;label"><a xlink:title="os.(*File).Readdirnames &#45;&gt; os.(*File).readdirnames (50ms)">
<text text-anchor="middle" x="692" y="-1238.8" font-family="Times,serif" font-size="14.00"> 50ms</text>
</a>
</g>
</g>
<!-- N54 -->
<g id="node55" class="node"><title>N54</title>
<g id="a_node55"><a xlink:title="syscall.ParseDirent (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="670,-1122.5 590,-1122.5 590,-1086.5 670,-1086.5 670,-1122.5"/>
<text text-anchor="middle" x="630" y="-1107.1" font-family="Times,serif" font-size="8.00">syscall.ParseDirent</text>
<text text-anchor="middle" x="630" y="-1098.1" font-family="Times,serif" font-size="8.00">0 of 10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N19&#45;&gt;N54 -->
<g id="edge44" class="edge"><title>N19&#45;&gt;N54</title>
<g id="a_edge44"><a xlink:title="os.(*File).readdirnames &#45;&gt; syscall.ParseDirent (10ms)">
<path fill="none" stroke="black" d="M662.457,-1179.91C658.496,-1174.08 654.297,-1167.41 651,-1161 646.33,-1151.92 642.128,-1141.54 638.731,-1132.24"/>
<polygon fill="black" stroke="black" points="641.991,-1130.96 635.378,-1122.69 635.385,-1133.28 641.991,-1130.96"/>
</a>
</g>
<g id="a_edge44&#45;label"><a xlink:title="os.(*File).readdirnames &#45;&gt; syscall.ParseDirent (10ms)">
<text text-anchor="middle" x="668" y="-1149.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N55 -->
<g id="node56" class="node"><title>N55</title>
<g id="a_node56"><a xlink:title="syscall.ReadDirent (40ms)">
<polygon fill="#f8f8f8" stroke="black" points="766,-1122.5 688,-1122.5 688,-1086.5 766,-1086.5 766,-1122.5"/>
<text text-anchor="middle" x="727" y="-1107.1" font-family="Times,serif" font-size="8.00">syscall.ReadDirent</text>
<text text-anchor="middle" x="727" y="-1098.1" font-family="Times,serif" font-size="8.00">0 of 40ms(9.30%)</text>
</a>
</g>
</g>
<!-- N19&#45;&gt;N55 -->
<g id="edge21" class="edge"><title>N19&#45;&gt;N55</title>
<g id="a_edge21"><a xlink:title="os.(*File).readdirnames &#45;&gt; syscall.ReadDirent (40ms)">
<path fill="none" stroke="black" d="M684.781,-1179.79C692.48,-1166.24 703.338,-1147.14 712.114,-1131.69"/>
<polygon fill="black" stroke="black" points="715.365,-1133.06 717.263,-1122.63 709.279,-1129.6 715.365,-1133.06"/>
</a>
</g>
<g id="a_edge21&#45;label"><a xlink:title="os.(*File).readdirnames &#45;&gt; syscall.ReadDirent (40ms)">
<text text-anchor="middle" x="720" y="-1149.8" font-family="Times,serif" font-size="14.00"> 40ms</text>
</a>
</g>
</g>
<!-- N50 -->
<g id="node51" class="node"><title>N50</title>
<g id="a_node51"><a xlink:title="syscall.Close (20ms)">
<polygon fill="#f8f8f8" stroke="black" points="858,-1122.5 784,-1122.5 784,-1086.5 858,-1086.5 858,-1122.5"/>
<text text-anchor="middle" x="821" y="-1107.1" font-family="Times,serif" font-size="8.00">syscall.Close</text>
<text text-anchor="middle" x="821" y="-1098.1" font-family="Times,serif" font-size="8.00">0 of 20ms(4.65%)</text>
</a>
</g>
</g>
<!-- N20&#45;&gt;N50 -->
<g id="edge34" class="edge"><title>N20&#45;&gt;N50</title>
<g id="a_edge34"><a xlink:title="os.(*file).close &#45;&gt; syscall.Close (20ms)">
<path fill="none" stroke="black" d="M791.771,-1179.79C797.051,-1166.37 804.477,-1147.5 810.522,-1132.13"/>
<polygon fill="black" stroke="black" points="813.855,-1133.22 814.259,-1122.63 807.341,-1130.66 813.855,-1133.22"/>
</a>
</g>
<g id="a_edge34&#45;label"><a xlink:title="os.(*file).close &#45;&gt; syscall.Close (20ms)">
<text text-anchor="middle" x="822" y="-1149.8" font-family="Times,serif" font-size="14.00"> 20ms</text>
</a>
</g>
</g>
<!-- N52 -->
<g id="node53" class="node"><title>N52</title>
<g id="a_node53"><a xlink:title="syscall.Lstat (110ms)">
<polygon fill="#f8f8f8" stroke="black" points="603,-1311 521,-1311 521,-1275 603,-1275 603,-1311"/>
<text text-anchor="middle" x="562" y="-1295.6" font-family="Times,serif" font-size="8.00">syscall.Lstat</text>
<text text-anchor="middle" x="562" y="-1286.6" font-family="Times,serif" font-size="8.00">0 of 110ms(25.58%)</text>
</a>
</g>
</g>
<!-- N21&#45;&gt;N52 -->
<g id="edge8" class="edge"><title>N21&#45;&gt;N52</title>
<g id="a_edge8"><a xlink:title="os.Lstat &#45;&gt; syscall.Lstat (110ms)">
<path fill="none" stroke="black" stroke-width="2" d="M562,-1368.7C562,-1355.46 562,-1336.95 562,-1321.66"/>
<polygon fill="black" stroke="black" stroke-width="2" points="565.5,-1321.23 562,-1311.23 558.5,-1321.23 565.5,-1321.23"/>
</a>
</g>
<g id="a_edge8&#45;label"><a xlink:title="os.Lstat &#45;&gt; syscall.Lstat (110ms)">
<text text-anchor="middle" x="582.5" y="-1339.8" font-family="Times,serif" font-size="14.00"> 110ms</text>
</a>
</g>
</g>
<!-- N22 -->
<g id="node23" class="node"><title>N22</title>
<g id="a_node23"><a xlink:title="os.Open (30ms)">
<polygon fill="#f8f8f8" stroke="black" points="911,-1311 837,-1311 837,-1275 911,-1275 911,-1311"/>
<text text-anchor="middle" x="874" y="-1295.6" font-family="Times,serif" font-size="8.00">os.Open</text>
<text text-anchor="middle" x="874" y="-1286.6" font-family="Times,serif" font-size="8.00">0 of 30ms(6.98%)</text>
</a>
</g>
</g>
<!-- N23 -->
<g id="node24" class="node"><title>N23</title>
<g id="a_node24"><a xlink:title="os.OpenFile (30ms)">
<polygon fill="#f8f8f8" stroke="black" points="914,-1216 840,-1216 840,-1180 914,-1180 914,-1216"/>
<text text-anchor="middle" x="877" y="-1200.6" font-family="Times,serif" font-size="8.00">os.OpenFile</text>
<text text-anchor="middle" x="877" y="-1191.6" font-family="Times,serif" font-size="8.00">0 of 30ms(6.98%)</text>
</a>
</g>
</g>
<!-- N22&#45;&gt;N23 -->
<g id="edge24" class="edge"><title>N22&#45;&gt;N23</title>
<g id="a_edge24"><a xlink:title="os.Open &#45;&gt; os.OpenFile (30ms)">
<path fill="none" stroke="black" d="M874.55,-1274.94C874.987,-1261.39 875.607,-1242.18 876.114,-1226.47"/>
<polygon fill="black" stroke="black" points="879.619,-1226.37 876.443,-1216.26 872.622,-1226.15 879.619,-1226.37"/>
</a>
</g>
<g id="a_edge24&#45;label"><a xlink:title="os.Open &#45;&gt; os.OpenFile (30ms)">
<text text-anchor="middle" x="893" y="-1238.8" font-family="Times,serif" font-size="14.00"> 30ms</text>
</a>
</g>
</g>
<!-- N53 -->
<g id="node54" class="node"><title>N53</title>
<g id="a_node54"><a xlink:title="syscall.Open (30ms)">
<polygon fill="#f8f8f8" stroke="black" points="950,-1122.5 876,-1122.5 876,-1086.5 950,-1086.5 950,-1122.5"/>
<text text-anchor="middle" x="913" y="-1107.1" font-family="Times,serif" font-size="8.00">syscall.Open</text>
<text text-anchor="middle" x="913" y="-1098.1" font-family="Times,serif" font-size="8.00">0 of 30ms(6.98%)</text>
</a>
</g>
</g>
<!-- N23&#45;&gt;N53 -->
<g id="edge25" class="edge"><title>N23&#45;&gt;N53</title>
<g id="a_edge25"><a xlink:title="os.OpenFile &#45;&gt; syscall.Open (30ms)">
<path fill="none" stroke="black" d="M883.771,-1179.79C889.051,-1166.37 896.477,-1147.5 902.522,-1132.13"/>
<polygon fill="black" stroke="black" points="905.855,-1133.22 906.259,-1122.63 899.341,-1130.66 905.855,-1133.22"/>
</a>
</g>
<g id="a_edge25&#45;label"><a xlink:title="os.OpenFile &#45;&gt; syscall.Open (30ms)">
<text text-anchor="middle" x="914" y="-1149.8" font-family="Times,serif" font-size="14.00"> 30ms</text>
</a>
</g>
</g>
<!-- N26 -->
<g id="node27" class="node"><title>N26</title>
<g id="a_node27"><a xlink:title="path/filepath.join (50ms)">
<polygon fill="#f8f8f8" stroke="black" points="232,-1311 154,-1311 154,-1275 232,-1275 232,-1311"/>
<text text-anchor="middle" x="193" y="-1295.6" font-family="Times,serif" font-size="8.00">path/filepath.join</text>
<text text-anchor="middle" x="193" y="-1286.6" font-family="Times,serif" font-size="8.00">0 of 50ms(11.63%)</text>
</a>
</g>
</g>
<!-- N24&#45;&gt;N26 -->
<g id="edge18" class="edge"><title>N24&#45;&gt;N26</title>
<g id="a_edge18"><a xlink:title="path/filepath.Join &#45;&gt; path/filepath.join (50ms)">
<path fill="none" stroke="black" d="M332.237,-1368.91C304.49,-1353.98 264.044,-1332.22 233.886,-1316"/>
<polygon fill="black" stroke="black" points="235.347,-1312.81 224.883,-1311.15 232.031,-1318.97 235.347,-1312.81"/>
</a>
</g>
<g id="a_edge18&#45;label"><a xlink:title="path/filepath.Join &#45;&gt; path/filepath.join (50ms)">
<text text-anchor="middle" x="316" y="-1339.8" font-family="Times,serif" font-size="14.00"> 50ms</text>
</a>
</g>
</g>
<!-- N25&#45;&gt;N10 -->
<g id="edge2" class="edge"><title>N25&#45;&gt;N10</title>
<g id="a_edge2"><a xlink:title="path/filepath.Walk &#45;&gt; path/filepath.walk (430ms)">
<path fill="none" stroke="black" stroke-width="6" d="M562,-1553.98C562,-1542.55 562,-1527.13 562,-1513.37"/>
<polygon fill="black" stroke="black" stroke-width="6" points="567.25,-1513.26 562,-1503.26 556.75,-1513.26 567.25,-1513.26"/>
</a>
</g>
<g id="a_edge2&#45;label"><a xlink:title="path/filepath.Walk &#45;&gt; path/filepath.walk (430ms)">
<text text-anchor="middle" x="582.5" y="-1524.8" font-family="Times,serif" font-size="14.00"> 430ms</text>
</a>
</g>
</g>
<!-- N26&#45;&gt;N2 -->
<g id="edge26" class="edge"><title>N26&#45;&gt;N2</title>
<g id="a_edge26"><a xlink:title="path/filepath.join &#45;&gt; path/filepath.Clean (30ms)">
<path fill="none" stroke="black" d="M179.978,-1274.94C169.439,-1261.14 154.41,-1241.45 142.295,-1225.58"/>
<polygon fill="black" stroke="black" points="144.761,-1223.05 135.911,-1217.22 139.197,-1227.29 144.761,-1223.05"/>
</a>
</g>
<g id="a_edge26&#45;label"><a xlink:title="path/filepath.join &#45;&gt; path/filepath.Clean (30ms)">
<text text-anchor="middle" x="177" y="-1238.8" font-family="Times,serif" font-size="14.00"> 30ms</text>
</a>
</g>
</g>
<!-- N49 -->
<g id="node50" class="node"><title>N49</title>
<g id="a_node50"><a xlink:title="strings.Join (20ms)">
<polygon fill="#f8f8f8" stroke="black" points="74,-1122.5 0,-1122.5 0,-1086.5 74,-1086.5 74,-1122.5"/>
<text text-anchor="middle" x="37" y="-1107.1" font-family="Times,serif" font-size="8.00">strings.Join</text>
<text text-anchor="middle" x="37" y="-1098.1" font-family="Times,serif" font-size="8.00">0 of 20ms(4.65%)</text>
</a>
</g>
</g>
<!-- N26&#45;&gt;N49 -->
<g id="edge35" class="edge"><title>N26&#45;&gt;N49</title>
<g id="a_edge35"><a xlink:title="path/filepath.join &#45;&gt; strings.Join (20ms)">
<path fill="none" stroke="black" d="M153.98,-1287.5C112.492,-1280.39 48.8318,-1262.34 19,-1217 2.23438,-1191.52 12.492,-1155.83 23.1211,-1131.75"/>
<polygon fill="black" stroke="black" points="26.3754,-1133.06 27.4658,-1122.52 20.0415,-1130.08 26.3754,-1133.06"/>
</a>
</g>
<g id="a_edge35&#45;label"><a xlink:title="path/filepath.join &#45;&gt; strings.Join (20ms)">
<text text-anchor="middle" x="36" y="-1194.3" font-family="Times,serif" font-size="14.00"> 20ms</text>
</a>
</g>
</g>
<!-- N27&#45;&gt;N17 -->
<g id="edge36" class="edge"><title>N27&#45;&gt;N17</title>
<g id="a_edge36"><a xlink:title="path/filepath.readDirNames &#45;&gt; os.(*File).Close (20ms)">
<path fill="none" stroke="black" d="M694.75,-1368.7C711.029,-1354.43 734.303,-1334.04 752.421,-1318.16"/>
<polygon fill="black" stroke="black" points="755.124,-1320.45 760.339,-1311.23 750.511,-1315.18 755.124,-1320.45"/>
</a>
</g>
<g id="a_edge36&#45;label"><a xlink:title="path/filepath.readDirNames &#45;&gt; os.(*File).Close (20ms)">
<text text-anchor="middle" x="748" y="-1339.8" font-family="Times,serif" font-size="14.00"> 20ms</text>
</a>
</g>
</g>
<!-- N27&#45;&gt;N18 -->
<g id="edge19" class="edge"><title>N27&#45;&gt;N18</title>
<g id="a_edge19"><a xlink:title="path/filepath.readDirNames &#45;&gt; os.(*File).Readdirnames (50ms)">
<path fill="none" stroke="black" d="M675,-1368.7C675,-1355.46 675,-1336.95 675,-1321.66"/>
<polygon fill="black" stroke="black" points="678.5,-1321.23 675,-1311.23 671.5,-1321.23 678.5,-1321.23"/>
</a>
</g>
<g id="a_edge19&#45;label"><a xlink:title="path/filepath.readDirNames &#45;&gt; os.(*File).Readdirnames (50ms)">
<text text-anchor="middle" x="692" y="-1339.8" font-family="Times,serif" font-size="14.00"> 50ms</text>
</a>
</g>
</g>
<!-- N27&#45;&gt;N22 -->
<g id="edge27" class="edge"><title>N27&#45;&gt;N22</title>
<g id="a_edge27"><a xlink:title="path/filepath.readDirNames &#45;&gt; os.Open (30ms)">
<path fill="none" stroke="black" d="M724.805,-1368.94C739.233,-1363.6 754.892,-1357.42 769,-1351 791.922,-1340.57 816.718,-1327.22 836.455,-1316.05"/>
<polygon fill="black" stroke="black" points="838.191,-1319.09 845.143,-1311.1 834.723,-1313.01 838.191,-1319.09"/>
</a>
</g>
<g id="a_edge27&#45;label"><a xlink:title="path/filepath.readDirNames &#45;&gt; os.Open (30ms)">
<text text-anchor="middle" x="816" y="-1339.8" font-family="Times,serif" font-size="14.00"> 30ms</text>
</a>
</g>
</g>
<!-- N45 -->
<g id="node46" class="node"><title>N45</title>
<g id="a_node46"><a xlink:title="sort.Strings (30ms)">
<polygon fill="#f8f8f8" stroke="black" points="1004,-1311 930,-1311 930,-1275 1004,-1275 1004,-1311"/>
<text text-anchor="middle" x="967" y="-1295.6" font-family="Times,serif" font-size="8.00">sort.Strings</text>
<text text-anchor="middle" x="967" y="-1286.6" font-family="Times,serif" font-size="8.00">0 of 30ms(6.98%)</text>
</a>
</g>
</g>
<!-- N27&#45;&gt;N45 -->
<g id="edge28" class="edge"><title>N27&#45;&gt;N45</title>
<g id="a_edge28"><a xlink:title="path/filepath.readDirNames &#45;&gt; sort.Strings (30ms)">
<path fill="none" stroke="black" d="M728.834,-1376.69C760.634,-1370.62 801.492,-1361.81 837,-1351 874.976,-1339.44 883.838,-1334.38 920,-1318 921.784,-1317.19 923.598,-1316.35 925.424,-1315.49"/>
<polygon fill="black" stroke="black" points="927.104,-1318.57 934.576,-1311.05 924.051,-1312.27 927.104,-1318.57"/>
</a>
</g>
<g id="a_edge28&#45;label"><a xlink:title="path/filepath.readDirNames &#45;&gt; sort.Strings (30ms)">
<text text-anchor="middle" x="897" y="-1339.8" font-family="Times,serif" font-size="14.00"> 30ms</text>
</a>
</g>
</g>
<!-- N42 -->
<g id="node43" class="node"><title>N42</title>
<g id="a_node43"><a xlink:title="runtime.systemstack (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="184,-558 102,-558 102,-522 184,-522 184,-558"/>
<text text-anchor="middle" x="143" y="-542.6" font-family="Times,serif" font-size="8.00">runtime.systemstack</text>
<text text-anchor="middle" x="143" y="-533.6" font-family="Times,serif" font-size="8.00">0 of 10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N28&#45;&gt;N42 -->
<g id="edge46" class="edge"><title>N28&#45;&gt;N42</title>
<g id="a_edge46"><a xlink:title="runtime.(*mcache).nextFree &#45;&gt; runtime.systemstack (10ms)">
<path fill="none" stroke="black" d="M143,-608.799C143,-597.163 143,-581.548 143,-568.237"/>
<polygon fill="black" stroke="black" points="146.5,-568.175 143,-558.175 139.5,-568.175 146.5,-568.175"/>
</a>
</g>
<g id="a_edge46&#45;label"><a xlink:title="runtime.(*mcache).nextFree &#45;&gt; runtime.systemstack (10ms)">
<text text-anchor="middle" x="160" y="-579.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N29 -->
<g id="node30" class="node"><title>N29</title>
<g id="a_node30"><a xlink:title="runtime.(*mcache).nextFree.func1 (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="207.5,-471 78.5,-471 78.5,-435 207.5,-435 207.5,-471"/>
<text text-anchor="middle" x="143" y="-455.6" font-family="Times,serif" font-size="8.00">runtime.(*mcache).nextFree.func1</text>
<text text-anchor="middle" x="143" y="-446.6" font-family="Times,serif" font-size="8.00">0 of 10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N30 -->
<g id="node31" class="node"><title>N30</title>
<g id="a_node31"><a xlink:title="runtime.(*mcache).refill (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="191.5,-384 94.5,-384 94.5,-348 191.5,-348 191.5,-384"/>
<text text-anchor="middle" x="143" y="-368.6" font-family="Times,serif" font-size="8.00">runtime.(*mcache).refill</text>
<text text-anchor="middle" x="143" y="-359.6" font-family="Times,serif" font-size="8.00">0 of 10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N29&#45;&gt;N30 -->
<g id="edge47" class="edge"><title>N29&#45;&gt;N30</title>
<g id="a_edge47"><a xlink:title="runtime.(*mcache).nextFree.func1 &#45;&gt; runtime.(*mcache).refill (10ms)">
<path fill="none" stroke="black" d="M143,-434.799C143,-423.163 143,-407.548 143,-394.237"/>
<polygon fill="black" stroke="black" points="146.5,-394.175 143,-384.175 139.5,-394.175 146.5,-394.175"/>
</a>
</g>
<g id="a_edge47&#45;label"><a xlink:title="runtime.(*mcache).nextFree.func1 &#45;&gt; runtime.(*mcache).refill (10ms)">
<text text-anchor="middle" x="160" y="-405.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N31 -->
<g id="node32" class="node"><title>N31</title>
<g id="a_node32"><a xlink:title="runtime.(*mcentral).cacheSpan (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="202.5,-297 83.5,-297 83.5,-261 202.5,-261 202.5,-297"/>
<text text-anchor="middle" x="143" y="-281.6" font-family="Times,serif" font-size="8.00">runtime.(*mcentral).cacheSpan</text>
<text text-anchor="middle" x="143" y="-272.6" font-family="Times,serif" font-size="8.00">0 of 10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N30&#45;&gt;N31 -->
<g id="edge48" class="edge"><title>N30&#45;&gt;N31</title>
<g id="a_edge48"><a xlink:title="runtime.(*mcache).refill &#45;&gt; runtime.(*mcentral).cacheSpan (10ms)">
<path fill="none" stroke="black" d="M143,-347.799C143,-336.163 143,-320.548 143,-307.237"/>
<polygon fill="black" stroke="black" points="146.5,-307.175 143,-297.175 139.5,-307.175 146.5,-307.175"/>
</a>
</g>
<g id="a_edge48&#45;label"><a xlink:title="runtime.(*mcache).refill &#45;&gt; runtime.(*mcentral).cacheSpan (10ms)">
<text text-anchor="middle" x="160" y="-318.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N32 -->
<g id="node33" class="node"><title>N32</title>
<g id="a_node33"><a xlink:title="runtime.(*mcentral).grow (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="193.5,-210 92.5,-210 92.5,-174 193.5,-174 193.5,-210"/>
<text text-anchor="middle" x="143" y="-194.6" font-family="Times,serif" font-size="8.00">runtime.(*mcentral).grow</text>
<text text-anchor="middle" x="143" y="-185.6" font-family="Times,serif" font-size="8.00">0 of 10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N31&#45;&gt;N32 -->
<g id="edge49" class="edge"><title>N31&#45;&gt;N32</title>
<g id="a_edge49"><a xlink:title="runtime.(*mcentral).cacheSpan &#45;&gt; runtime.(*mcentral).grow (10ms)">
<path fill="none" stroke="black" d="M143,-260.799C143,-249.163 143,-233.548 143,-220.237"/>
<polygon fill="black" stroke="black" points="146.5,-220.175 143,-210.175 139.5,-220.175 146.5,-220.175"/>
</a>
</g>
<g id="a_edge49&#45;label"><a xlink:title="runtime.(*mcentral).cacheSpan &#45;&gt; runtime.(*mcentral).grow (10ms)">
<text text-anchor="middle" x="160" y="-231.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N33 -->
<g id="node34" class="node"><title>N33</title>
<g id="a_node34"><a xlink:title="runtime.(*mheap).alloc (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="189,-123 97,-123 97,-87 189,-87 189,-123"/>
<text text-anchor="middle" x="143" y="-107.6" font-family="Times,serif" font-size="8.00">runtime.(*mheap).alloc</text>
<text text-anchor="middle" x="143" y="-98.6" font-family="Times,serif" font-size="8.00">0 of 10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N32&#45;&gt;N33 -->
<g id="edge50" class="edge"><title>N32&#45;&gt;N33</title>
<g id="a_edge50"><a xlink:title="runtime.(*mcentral).grow &#45;&gt; runtime.(*mheap).alloc (10ms)">
<path fill="none" stroke="black" d="M143,-173.799C143,-162.163 143,-146.548 143,-133.237"/>
<polygon fill="black" stroke="black" points="146.5,-133.175 143,-123.175 139.5,-133.175 146.5,-133.175"/>
</a>
</g>
<g id="a_edge50&#45;label"><a xlink:title="runtime.(*mcentral).grow &#45;&gt; runtime.(*mheap).alloc (10ms)">
<text text-anchor="middle" x="160" y="-144.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N33&#45;&gt;N11 -->
<g id="edge51" class="edge"><title>N33&#45;&gt;N11</title>
<g id="a_edge51"><a xlink:title="runtime.(*mheap).alloc &#45;&gt; runtime.memclr (10ms)">
<path fill="none" stroke="black" d="M143,-86.799C143,-75.1626 143,-59.5479 143,-46.2368"/>
<polygon fill="black" stroke="black" points="146.5,-46.1754 143,-36.1754 139.5,-46.1755 146.5,-46.1754"/>
</a>
</g>
<g id="a_edge51&#45;label"><a xlink:title="runtime.(*mheap).alloc &#45;&gt; runtime.memclr (10ms)">
<text text-anchor="middle" x="160" y="-57.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N38 -->
<g id="node39" class="node"><title>N38</title>
<g id="a_node39"><a xlink:title="runtime.newobject (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="277.5,-1216 200.5,-1216 200.5,-1180 277.5,-1180 277.5,-1216"/>
<text text-anchor="middle" x="239" y="-1200.6" font-family="Times,serif" font-size="8.00">runtime.newobject</text>
<text text-anchor="middle" x="239" y="-1191.6" font-family="Times,serif" font-size="8.00">0 of 10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N34&#45;&gt;N38 -->
<g id="edge52" class="edge"><title>N34&#45;&gt;N38</title>
<g id="a_edge52"><a xlink:title="runtime.convT2E &#45;&gt; runtime.newobject (10ms)">
<path fill="none" stroke="black" d="M287.178,-1274.94C278.335,-1261 265.687,-1241.07 255.57,-1225.12"/>
<polygon fill="black" stroke="black" points="258.265,-1222.83 249.953,-1216.26 252.354,-1226.58 258.265,-1222.83"/>
</a>
</g>
<g id="a_edge52&#45;label"><a xlink:title="runtime.convT2E &#45;&gt; runtime.newobject (10ms)">
<text text-anchor="middle" x="288" y="-1238.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N35 -->
<g id="node36" class="node"><title>N35</title>
<g id="a_node36"><a xlink:title="runtime.goexit (430ms)">
<polygon fill="#f8f8f8" stroke="black" points="600,-1889.5 524,-1889.5 524,-1853.5 600,-1853.5 600,-1889.5"/>
<text text-anchor="middle" x="562" y="-1874.1" font-family="Times,serif" font-size="8.00">runtime.goexit</text>
<text text-anchor="middle" x="562" y="-1865.1" font-family="Times,serif" font-size="8.00">0 of 430ms(100%)</text>
</a>
</g>
</g>
<!-- N36 -->
<g id="node37" class="node"><title>N36</title>
<g id="a_node37"><a xlink:title="runtime.main (430ms)">
<polygon fill="#f8f8f8" stroke="black" points="600,-1764 524,-1764 524,-1728 600,-1728 600,-1764"/>
<text text-anchor="middle" x="562" y="-1748.6" font-family="Times,serif" font-size="8.00">runtime.main</text>
<text text-anchor="middle" x="562" y="-1739.6" font-family="Times,serif" font-size="8.00">0 of 430ms(100%)</text>
</a>
</g>
</g>
<!-- N35&#45;&gt;N36 -->
<g id="edge3" class="edge"><title>N35&#45;&gt;N36</title>
<g id="a_edge3"><a xlink:title="runtime.goexit &#45;&gt; runtime.main (430ms)">
<path fill="none" stroke="black" stroke-width="6" d="M562,-1853.33C562,-1832.87 562,-1798.42 562,-1774.3"/>
<polygon fill="black" stroke="black" stroke-width="6" points="567.25,-1774.03 562,-1764.03 556.75,-1774.03 567.25,-1774.03"/>
</a>
</g>
<g id="a_edge3&#45;label"><a xlink:title="runtime.goexit &#45;&gt; runtime.main (430ms)">
<text text-anchor="middle" x="582.5" y="-1785.8" font-family="Times,serif" font-size="14.00"> 430ms</text>
</a>
</g>
</g>
<!-- N36&#45;&gt;N15 -->
<g id="edge4" class="edge"><title>N36&#45;&gt;N15</title>
<g id="a_edge4"><a xlink:title="runtime.main &#45;&gt; main.main (430ms)">
<path fill="none" stroke="black" stroke-width="6" d="M562,-1727.8C562,-1716.16 562,-1700.55 562,-1687.24"/>
<polygon fill="black" stroke="black" stroke-width="6" points="567.25,-1687.18 562,-1677.18 556.75,-1687.18 567.25,-1687.18"/>
</a>
</g>
<g id="a_edge4&#45;label"><a xlink:title="runtime.main &#45;&gt; main.main (430ms)">
<text text-anchor="middle" x="582.5" y="-1698.8" font-family="Times,serif" font-size="14.00"> 430ms</text>
</a>
</g>
</g>
<!-- N37 -->
<g id="node38" class="node"><title>N37</title>
<g id="a_node38"><a xlink:title="runtime.makeslice (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="95,-1024.5 19,-1024.5 19,-988.5 95,-988.5 95,-1024.5"/>
<text text-anchor="middle" x="57" y="-1009.1" font-family="Times,serif" font-size="8.00">runtime.makeslice</text>
<text text-anchor="middle" x="57" y="-1000.1" font-family="Times,serif" font-size="8.00">0 of 10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N37&#45;&gt;N3 -->
<g id="edge53" class="edge"><title>N37&#45;&gt;N3</title>
<g id="a_edge53"><a xlink:title="runtime.makeslice &#45;&gt; runtime.mallocgc (10ms)">
<path fill="none" stroke="black" d="M60.9735,-988.458C67.4207,-961.293 80.8695,-906.589 95,-861 105.49,-827.155 119.288,-789.184 129.397,-762.328"/>
<polygon fill="black" stroke="black" points="132.675,-763.556 132.942,-752.964 126.128,-761.077 132.675,-763.556"/>
</a>
</g>
<g id="a_edge53&#45;label"><a xlink:title="runtime.makeslice &#45;&gt; runtime.mallocgc (10ms)">
<text text-anchor="middle" x="112" y="-864.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N38&#45;&gt;N3 -->
<g id="edge55" class="edge"><title>N38&#45;&gt;N3</title>
<g id="a_edge55"><a xlink:title="runtime.newobject &#45;&gt; runtime.mallocgc (10ms)">
<path fill="none" stroke="black" d="M201.884,-1179.92C174.87,-1164.66 143,-1139.46 143,-1105.5 143,-1105.5 143,-1105.5 143,-824 143,-803.729 143,-781.074 143,-762.76"/>
<polygon fill="black" stroke="black" points="146.5,-762.529 143,-752.529 139.5,-762.529 146.5,-762.529"/>
</a>
</g>
<g id="a_edge55&#45;label"><a xlink:title="runtime.newobject &#45;&gt; runtime.mallocgc (10ms)">
<text text-anchor="middle" x="160" y="-953.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N39 -->
<g id="node40" class="node"><title>N39</title>
<g id="a_node40"><a xlink:title="runtime.rawstring (20ms)">
<polygon fill="#f8f8f8" stroke="black" points="247,-843 173,-843 173,-807 247,-807 247,-843"/>
<text text-anchor="middle" x="210" y="-827.6" font-family="Times,serif" font-size="8.00">runtime.rawstring</text>
<text text-anchor="middle" x="210" y="-818.6" font-family="Times,serif" font-size="8.00">0 of 20ms(4.65%)</text>
</a>
</g>
</g>
<!-- N39&#45;&gt;N3 -->
<g id="edge37" class="edge"><title>N39&#45;&gt;N3</title>
<g id="a_edge37"><a xlink:title="runtime.rawstring &#45;&gt; runtime.mallocgc (20ms)">
<path fill="none" stroke="black" d="M198.022,-806.658C189.256,-793.968 177.082,-776.343 166.413,-760.896"/>
<polygon fill="black" stroke="black" points="169.235,-758.824 160.672,-752.585 163.475,-762.802 169.235,-758.824"/>
</a>
</g>
<g id="a_edge37&#45;label"><a xlink:title="runtime.rawstring &#45;&gt; runtime.mallocgc (20ms)">
<text text-anchor="middle" x="202" y="-777.8" font-family="Times,serif" font-size="14.00"> 20ms</text>
</a>
</g>
</g>
<!-- N40 -->
<g id="node41" class="node"><title>N40</title>
<g id="a_node41"><a xlink:title="runtime.rawstringtmp (20ms)">
<polygon fill="#f8f8f8" stroke="black" points="259,-931 173,-931 173,-895 259,-895 259,-931"/>
<text text-anchor="middle" x="216" y="-915.6" font-family="Times,serif" font-size="8.00">runtime.rawstringtmp</text>
<text text-anchor="middle" x="216" y="-906.6" font-family="Times,serif" font-size="8.00">0 of 20ms(4.65%)</text>
</a>
</g>
</g>
<!-- N40&#45;&gt;N39 -->
<g id="edge38" class="edge"><title>N40&#45;&gt;N39</title>
<g id="a_edge38"><a xlink:title="runtime.rawstringtmp &#45;&gt; runtime.rawstring (20ms)">
<path fill="none" stroke="black" d="M214.786,-894.597C213.959,-882.746 212.848,-866.817 211.904,-853.292"/>
<polygon fill="black" stroke="black" points="215.379,-852.816 211.192,-843.084 208.396,-853.303 215.379,-852.816"/>
</a>
</g>
<g id="a_edge38&#45;label"><a xlink:title="runtime.rawstringtmp &#45;&gt; runtime.rawstring (20ms)">
<text text-anchor="middle" x="231" y="-864.8" font-family="Times,serif" font-size="14.00"> 20ms</text>
</a>
</g>
</g>
<!-- N41 -->
<g id="node42" class="node"><title>N41</title>
<g id="a_node42"><a xlink:title="runtime.slicebytetostring (20ms)">
<polygon fill="#f8f8f8" stroke="black" points="267,-1024.5 171,-1024.5 171,-988.5 267,-988.5 267,-1024.5"/>
<text text-anchor="middle" x="219" y="-1009.1" font-family="Times,serif" font-size="8.00">runtime.slicebytetostring</text>
<text text-anchor="middle" x="219" y="-1000.1" font-family="Times,serif" font-size="8.00">0 of 20ms(4.65%)</text>
</a>
</g>
</g>
<!-- N41&#45;&gt;N40 -->
<g id="edge39" class="edge"><title>N41&#45;&gt;N40</title>
<g id="a_edge39"><a xlink:title="runtime.slicebytetostring &#45;&gt; runtime.rawstringtmp (20ms)">
<path fill="none" stroke="black" d="M218.436,-988.29C218.004,-975.126 217.4,-956.714 216.902,-941.513"/>
<polygon fill="black" stroke="black" points="220.388,-941.013 216.562,-931.133 213.391,-941.243 220.388,-941.013"/>
</a>
</g>
<g id="a_edge39&#45;label"><a xlink:title="runtime.slicebytetostring &#45;&gt; runtime.rawstringtmp (20ms)">
<text text-anchor="middle" x="235" y="-953.8" font-family="Times,serif" font-size="14.00"> 20ms</text>
</a>
</g>
</g>
<!-- N42&#45;&gt;N29 -->
<g id="edge56" class="edge"><title>N42&#45;&gt;N29</title>
<g id="a_edge56"><a xlink:title="runtime.systemstack &#45;&gt; runtime.(*mcache).nextFree.func1 (10ms)">
<path fill="none" stroke="black" d="M143,-521.799C143,-510.163 143,-494.548 143,-481.237"/>
<polygon fill="black" stroke="black" points="146.5,-481.175 143,-471.175 139.5,-481.175 146.5,-481.175"/>
</a>
</g>
<g id="a_edge56&#45;label"><a xlink:title="runtime.systemstack &#45;&gt; runtime.(*mcache).nextFree.func1 (10ms)">
<text text-anchor="middle" x="160" y="-492.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N43 -->
<g id="node44" class="node"><title>N43</title>
<g id="a_node44"><a xlink:title="sort.(*StringSlice).Less (20ms)">
<polygon fill="#f8f8f8" stroke="black" points="1124,-843 1030,-843 1030,-807 1124,-807 1124,-843"/>
<text text-anchor="middle" x="1077" y="-827.6" font-family="Times,serif" font-size="8.00">sort.(*StringSlice).Less</text>
<text text-anchor="middle" x="1077" y="-818.6" font-family="Times,serif" font-size="8.00">0 of 20ms(4.65%)</text>
</a>
</g>
</g>
<!-- N43&#45;&gt;N6 -->
<g id="edge40" class="edge"><title>N43&#45;&gt;N6</title>
<g id="a_edge40"><a xlink:title="sort.(*StringSlice).Less &#45;&gt; runtime.cmpbody (20ms)">
<path fill="none" stroke="black" d="M1077,-806.658C1077,-792.175 1077,-771.263 1077,-754.499"/>
<polygon fill="black" stroke="black" points="1080.5,-754.191 1077,-744.192 1073.5,-754.192 1080.5,-754.191"/>
</a>
</g>
<g id="a_edge40&#45;label"><a xlink:title="sort.(*StringSlice).Less &#45;&gt; runtime.cmpbody (20ms)">
<text text-anchor="middle" x="1094" y="-777.8" font-family="Times,serif" font-size="14.00"> 20ms</text>
</a>
</g>
</g>
<!-- N44 -->
<g id="node45" class="node"><title>N44</title>
<g id="a_node45"><a xlink:title="sort.Sort (30ms)">
<polygon fill="#f8f8f8" stroke="black" points="1024,-1216 950,-1216 950,-1180 1024,-1180 1024,-1216"/>
<text text-anchor="middle" x="987" y="-1200.6" font-family="Times,serif" font-size="8.00">sort.Sort</text>
<text text-anchor="middle" x="987" y="-1191.6" font-family="Times,serif" font-size="8.00">0 of 30ms(6.98%)</text>
</a>
</g>
</g>
<!-- N48 -->
<g id="node49" class="node"><title>N48</title>
<g id="a_node49"><a xlink:title="sort.quickSort (30ms)">
<polygon fill="#f8f8f8" stroke="black" points="1042,-1122.5 968,-1122.5 968,-1086.5 1042,-1086.5 1042,-1122.5"/>
<text text-anchor="middle" x="1005" y="-1107.1" font-family="Times,serif" font-size="8.00">sort.quickSort</text>
<text text-anchor="middle" x="1005" y="-1098.1" font-family="Times,serif" font-size="8.00">0 of 30ms(6.98%)</text>
</a>
</g>
</g>
<!-- N44&#45;&gt;N48 -->
<g id="edge29" class="edge"><title>N44&#45;&gt;N48</title>
<g id="a_edge29"><a xlink:title="sort.Sort &#45;&gt; sort.quickSort (30ms)">
<path fill="none" stroke="black" d="M990.386,-1179.79C993,-1166.5 996.668,-1147.86 999.675,-1132.57"/>
<polygon fill="black" stroke="black" points="1003.13,-1133.12 1001.63,-1122.63 996.265,-1131.77 1003.13,-1133.12"/>
</a>
</g>
<g id="a_edge29&#45;label"><a xlink:title="sort.Sort &#45;&gt; sort.quickSort (30ms)">
<text text-anchor="middle" x="1014" y="-1149.8" font-family="Times,serif" font-size="14.00"> 30ms</text>
</a>
</g>
</g>
<!-- N45&#45;&gt;N44 -->
<g id="edge30" class="edge"><title>N45&#45;&gt;N44</title>
<g id="a_edge30"><a xlink:title="sort.Strings &#45;&gt; sort.Sort (30ms)">
<path fill="none" stroke="black" d="M970.668,-1274.94C973.582,-1261.39 977.714,-1242.18 981.093,-1226.47"/>
<polygon fill="black" stroke="black" points="984.606,-1226.78 983.287,-1216.26 977.763,-1225.31 984.606,-1226.78"/>
</a>
</g>
<g id="a_edge30&#45;label"><a xlink:title="sort.Strings &#45;&gt; sort.Sort (30ms)">
<text text-anchor="middle" x="996" y="-1238.8" font-family="Times,serif" font-size="14.00"> 30ms</text>
</a>
</g>
</g>
<!-- N46 -->
<g id="node47" class="node"><title>N46</title>
<g id="a_node47"><a xlink:title="sort.doPivot (20ms)">
<polygon fill="#f8f8f8" stroke="black" points="1042,-1024.5 968,-1024.5 968,-988.5 1042,-988.5 1042,-1024.5"/>
<text text-anchor="middle" x="1005" y="-1009.1" font-family="Times,serif" font-size="8.00">sort.doPivot</text>
<text text-anchor="middle" x="1005" y="-1000.1" font-family="Times,serif" font-size="8.00">0 of 20ms(4.65%)</text>
</a>
</g>
</g>
<!-- N46&#45;&gt;N43 -->
<g id="edge57" class="edge"><title>N46&#45;&gt;N43</title>
<g id="a_edge57"><a xlink:title="sort.doPivot &#45;&gt; sort.(*StringSlice).Less (10ms)">
<path fill="none" stroke="black" d="M1029.74,-988.379C1038.35,-981.699 1047.68,-973.584 1055,-965 1065.98,-952.124 1067.66,-947.693 1074,-932 1086.04,-902.175 1092.88,-892.791 1088,-861 1087.59,-858.318 1087.01,-855.56 1086.33,-852.825"/>
<polygon fill="black" stroke="black" points="1089.69,-851.835 1083.55,-843.199 1082.96,-853.778 1089.69,-851.835"/>
</a>
</g>
<g id="a_edge57&#45;label"><a xlink:title="sort.doPivot &#45;&gt; sort.(*StringSlice).Less (10ms)">
<text text-anchor="middle" x="1105" y="-909.3" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N47 -->
<g id="node48" class="node"><title>N47</title>
<g id="a_node48"><a xlink:title="sort.medianOfThree (10ms)">
<polygon fill="#f8f8f8" stroke="black" points="1065.5,-931 982.5,-931 982.5,-895 1065.5,-895 1065.5,-931"/>
<text text-anchor="middle" x="1024" y="-915.6" font-family="Times,serif" font-size="8.00">sort.medianOfThree</text>
<text text-anchor="middle" x="1024" y="-906.6" font-family="Times,serif" font-size="8.00">0 of 10ms(2.33%)</text>
</a>
</g>
</g>
<!-- N46&#45;&gt;N47 -->
<g id="edge58" class="edge"><title>N46&#45;&gt;N47</title>
<g id="a_edge58"><a xlink:title="sort.doPivot &#45;&gt; sort.medianOfThree (10ms)">
<path fill="none" stroke="black" d="M1008.57,-988.29C1011.33,-974.998 1015.2,-956.356 1018.38,-941.071"/>
<polygon fill="black" stroke="black" points="1021.84,-941.636 1020.44,-931.133 1014.98,-940.213 1021.84,-941.636"/>
</a>
</g>
<g id="a_edge58&#45;label"><a xlink:title="sort.doPivot &#45;&gt; sort.medianOfThree (10ms)">
<text text-anchor="middle" x="1034" y="-953.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N47&#45;&gt;N43 -->
<g id="edge59" class="edge"><title>N47&#45;&gt;N43</title>
<g id="a_edge59"><a xlink:title="sort.medianOfThree &#45;&gt; sort.(*StringSlice).Less (10ms)">
<path fill="none" stroke="black" d="M1033.79,-894.873C1039.55,-884.914 1047.05,-872.164 1054,-861 1055.86,-858.008 1057.84,-854.894 1059.83,-851.812"/>
<polygon fill="black" stroke="black" points="1062.83,-853.624 1065.36,-843.337 1056.97,-849.798 1062.83,-853.624"/>
</a>
</g>
<g id="a_edge59&#45;label"><a xlink:title="sort.medianOfThree &#45;&gt; sort.(*StringSlice).Less (10ms)">
<text text-anchor="middle" x="1071" y="-864.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N48&#45;&gt;N12 -->
<g id="edge60" class="edge"><title>N48&#45;&gt;N12</title>
<g id="a_edge60"><a xlink:title="sort.quickSort &#45;&gt; sort.insertionSort (10ms)">
<path fill="none" stroke="black" d="M1023.59,-1086.34C1040.16,-1071.05 1064.56,-1048.52 1083.05,-1031.46"/>
<polygon fill="black" stroke="black" points="1085.59,-1033.87 1090.57,-1024.51 1080.85,-1028.73 1085.59,-1033.87"/>
</a>
</g>
<g id="a_edge60&#45;label"><a xlink:title="sort.quickSort &#45;&gt; sort.insertionSort (10ms)">
<text text-anchor="middle" x="1081" y="-1051.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N48&#45;&gt;N46 -->
<g id="edge41" class="edge"><title>N48&#45;&gt;N46</title>
<g id="a_edge41"><a xlink:title="sort.quickSort &#45;&gt; sort.doPivot (20ms)">
<path fill="none" stroke="black" d="M1005,-1086.34C1005,-1072 1005,-1051.31 1005,-1034.72"/>
<polygon fill="black" stroke="black" points="1008.5,-1034.51 1005,-1024.51 1001.5,-1034.51 1008.5,-1034.51"/>
</a>
</g>
<g id="a_edge41&#45;label"><a xlink:title="sort.quickSort &#45;&gt; sort.doPivot (20ms)">
<text text-anchor="middle" x="1022" y="-1051.8" font-family="Times,serif" font-size="14.00"> 20ms</text>
</a>
</g>
</g>
<!-- N49&#45;&gt;N37 -->
<g id="edge61" class="edge"><title>N49&#45;&gt;N37</title>
<g id="a_edge61"><a xlink:title="strings.Join &#45;&gt; runtime.makeslice (10ms)">
<path fill="none" stroke="black" d="M35.4733,-1086.27C34.94,-1075.2 35.0769,-1060.58 38,-1048 39.1064,-1043.24 40.8172,-1038.37 42.7684,-1033.74"/>
<polygon fill="black" stroke="black" points="45.9462,-1035.2 46.9942,-1024.66 39.6003,-1032.25 45.9462,-1035.2"/>
</a>
</g>
<g id="a_edge61&#45;label"><a xlink:title="strings.Join &#45;&gt; runtime.makeslice (10ms)">
<text text-anchor="middle" x="55" y="-1051.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N49&#45;&gt;N41 -->
<g id="edge62" class="edge"><title>N49&#45;&gt;N41</title>
<g id="a_edge62"><a xlink:title="strings.Join &#45;&gt; runtime.slicebytetostring (10ms)">
<path fill="none" stroke="black" d="M69.538,-1086.34C99.8186,-1070.36 145.076,-1046.49 177.853,-1029.2"/>
<polygon fill="black" stroke="black" points="179.532,-1032.28 186.744,-1024.51 176.266,-1026.08 179.532,-1032.28"/>
</a>
</g>
<g id="a_edge62&#45;label"><a xlink:title="strings.Join &#45;&gt; runtime.slicebytetostring (10ms)">
<text text-anchor="middle" x="156" y="-1051.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N50&#45;&gt;N1 -->
<g id="edge42" class="edge"><title>N50&#45;&gt;N1</title>
<g id="a_edge42"><a xlink:title="syscall.Close &#45;&gt; syscall.Syscall (20ms)">
<path fill="none" stroke="black" d="M809.899,-1086.22C799,-1067.57 784,-1036.61 784,-1007.5 784,-1007.5 784,-1007.5 784,-824 784,-765.133 717.645,-741.64 657.49,-732.437"/>
<polygon fill="black" stroke="black" points="657.904,-728.961 647.513,-731.029 656.926,-735.892 657.904,-728.961"/>
</a>
</g>
<g id="a_edge42&#45;label"><a xlink:title="syscall.Close &#45;&gt; syscall.Syscall (20ms)">
<text text-anchor="middle" x="801" y="-909.3" font-family="Times,serif" font-size="14.00"> 20ms</text>
</a>
</g>
</g>
<!-- N51 -->
<g id="node52" class="node"><title>N51</title>
<g id="a_node52"><a xlink:title="syscall.Getdents (40ms)">
<polygon fill="#f8f8f8" stroke="black" points="713,-1024.5 639,-1024.5 639,-988.5 713,-988.5 713,-1024.5"/>
<text text-anchor="middle" x="676" y="-1009.1" font-family="Times,serif" font-size="8.00">syscall.Getdents</text>
<text text-anchor="middle" x="676" y="-1000.1" font-family="Times,serif" font-size="8.00">0 of 40ms(9.30%)</text>
</a>
</g>
</g>
<!-- N51&#45;&gt;N1 -->
<g id="edge22" class="edge"><title>N51&#45;&gt;N1</title>
<g id="a_edge22"><a xlink:title="syscall.Getdents &#45;&gt; syscall.Syscall (40ms)">
<path fill="none" stroke="black" d="M669.04,-988.498C651.099,-944.666 602.922,-826.972 577.773,-765.532"/>
<polygon fill="black" stroke="black" points="580.97,-764.103 573.942,-756.175 574.491,-766.755 580.97,-764.103"/>
</a>
</g>
<g id="a_edge22&#45;label"><a xlink:title="syscall.Getdents &#45;&gt; syscall.Syscall (40ms)">
<text text-anchor="middle" x="640" y="-864.8" font-family="Times,serif" font-size="14.00"> 40ms</text>
</a>
</g>
</g>
<!-- N52&#45;&gt;N1 -->
<g id="edge10" class="edge"><title>N52&#45;&gt;N1</title>
<g id="a_edge10"><a xlink:title="syscall.Lstat &#45;&gt; syscall.Syscall (100ms)">
<path fill="none" stroke="black" stroke-width="2" d="M562,-1274.86C562,-1256.2 562,-1225.48 562,-1199 562,-1199 562,-1199 562,-824 562,-805.173 562,-784.291 562,-766.739"/>
<polygon fill="black" stroke="black" stroke-width="2" points="565.5,-766.289 562,-756.289 558.5,-766.289 565.5,-766.289"/>
</a>
</g>
<g id="a_edge10&#45;label"><a xlink:title="syscall.Lstat &#45;&gt; syscall.Syscall (100ms)">
<text text-anchor="middle" x="582.5" y="-1002.8" font-family="Times,serif" font-size="14.00"> 100ms</text>
</a>
</g>
</g>
<!-- N52&#45;&gt;N13 -->
<g id="edge63" class="edge"><title>N52&#45;&gt;N13</title>
<g id="a_edge63"><a xlink:title="syscall.Lstat &#45;&gt; syscall.BytePtrFromString (10ms)">
<path fill="none" stroke="black" d="M541.65,-1274.72C533.008,-1267.25 522.895,-1258.32 514,-1250 504.948,-1241.53 495.269,-1231.99 486.803,-1223.46"/>
<polygon fill="black" stroke="black" points="489.238,-1220.95 479.722,-1216.29 484.256,-1225.86 489.238,-1220.95"/>
</a>
</g>
<g id="a_edge63&#45;label"><a xlink:title="syscall.Lstat &#45;&gt; syscall.BytePtrFromString (10ms)">
<text text-anchor="middle" x="531" y="-1238.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N57 -->
<g id="node58" class="node"><title>N57</title>
<g id="a_node58"><a xlink:title="syscall.openat (30ms)">
<polygon fill="#f8f8f8" stroke="black" points="950,-1024.5 876,-1024.5 876,-988.5 950,-988.5 950,-1024.5"/>
<text text-anchor="middle" x="913" y="-1009.1" font-family="Times,serif" font-size="8.00">syscall.openat</text>
<text text-anchor="middle" x="913" y="-1000.1" font-family="Times,serif" font-size="8.00">0 of 30ms(6.98%)</text>
</a>
</g>
</g>
<!-- N53&#45;&gt;N57 -->
<g id="edge31" class="edge"><title>N53&#45;&gt;N57</title>
<g id="a_edge31"><a xlink:title="syscall.Open &#45;&gt; syscall.openat (30ms)">
<path fill="none" stroke="black" d="M913,-1086.34C913,-1072 913,-1051.31 913,-1034.72"/>
<polygon fill="black" stroke="black" points="916.5,-1034.51 913,-1024.51 909.5,-1034.51 916.5,-1034.51"/>
</a>
</g>
<g id="a_edge31&#45;label"><a xlink:title="syscall.Open &#45;&gt; syscall.openat (30ms)">
<text text-anchor="middle" x="930" y="-1051.8" font-family="Times,serif" font-size="14.00"> 30ms</text>
</a>
</g>
</g>
<!-- N54&#45;&gt;N41 -->
<g id="edge64" class="edge"><title>N54&#45;&gt;N41</title>
<g id="a_edge64"><a xlink:title="syscall.ParseDirent &#45;&gt; runtime.slicebytetostring (10ms)">
<path fill="none" stroke="black" d="M589.57,-1094.39C539.009,-1083.08 449.753,-1063.41 373,-1048 330.01,-1039.37 318.143,-1042.11 276,-1030 273.714,-1029.34 271.392,-1028.63 269.058,-1027.87"/>
<polygon fill="black" stroke="black" points="270.054,-1024.52 259.459,-1024.57 267.775,-1031.13 270.054,-1024.52"/>
</a>
</g>
<g id="a_edge64&#45;label"><a xlink:title="syscall.ParseDirent &#45;&gt; runtime.slicebytetostring (10ms)">
<text text-anchor="middle" x="461" y="-1051.8" font-family="Times,serif" font-size="14.00"> 10ms</text>
</a>
</g>
</g>
<!-- N55&#45;&gt;N51 -->
<g id="edge23" class="edge"><title>N55&#45;&gt;N51</title>
<g id="a_edge23"><a xlink:title="syscall.ReadDirent &#45;&gt; syscall.Getdents (40ms)">
<path fill="none" stroke="black" d="M717.882,-1086.34C710.122,-1071.73 698.852,-1050.52 689.957,-1033.77"/>
<polygon fill="black" stroke="black" points="692.821,-1031.7 685.039,-1024.51 686.64,-1034.99 692.821,-1031.7"/>
</a>
</g>
<g id="a_edge23&#45;label"><a xlink:title="syscall.ReadDirent &#45;&gt; syscall.Getdents (40ms)">
<text text-anchor="middle" x="722" y="-1051.8" font-family="Times,serif" font-size="14.00"> 40ms</text>
</a>
</g>
</g>
<!-- N58 -->
<g id="node59" class="node"><title>N58</title>
<g id="a_node59"><a xlink:title="syscall.write (70ms)">
<polygon fill="#f8f8f8" stroke="black" points="524,-843 446,-843 446,-807 524,-807 524,-843"/>
<text text-anchor="middle" x="485" y="-827.6" font-family="Times,serif" font-size="8.00">syscall.write</text>
<text text-anchor="middle" x="485" y="-818.6" font-family="Times,serif" font-size="8.00">0 of 70ms(16.28%)</text>
</a>
</g>
</g>
<!-- N56&#45;&gt;N58 -->
<g id="edge15" class="edge"><title>N56&#45;&gt;N58</title>
<g id="a_edge15"><a xlink:title="syscall.Write &#45;&gt; syscall.write (70ms)">
<path fill="none" stroke="black" d="M437.142,-894.597C445.819,-882.159 457.63,-865.23 467.348,-851.302"/>
<polygon fill="black" stroke="black" points="470.23,-853.288 473.081,-843.084 464.489,-849.283 470.23,-853.288"/>
</a>
</g>
<g id="a_edge15&#45;label"><a xlink:title="syscall.Write &#45;&gt; syscall.write (70ms)">
<text text-anchor="middle" x="478" y="-864.8" font-family="Times,serif" font-size="14.00"> 70ms</text>
</a>
</g>
</g>
<!-- N57&#45;&gt;N4 -->
<g id="edge32" class="edge"><title>N57&#45;&gt;N4</title>
<g id="a_edge32"><a xlink:title="syscall.openat &#45;&gt; syscall.Syscall6 (30ms)">
<path fill="none" stroke="black" d="M913,-988.29C913,-975.376 913,-957.411 913,-942.382"/>
<polygon fill="black" stroke="black" points="916.5,-942.072 913,-932.072 909.5,-942.072 916.5,-942.072"/>
</a>
</g>
<g id="a_edge32&#45;label"><a xlink:title="syscall.openat &#45;&gt; syscall.Syscall6 (30ms)">
<text text-anchor="middle" x="930" y="-953.8" font-family="Times,serif" font-size="14.00"> 30ms</text>
</a>
</g>
</g>
<!-- N58&#45;&gt;N1 -->
<g id="edge16" class="edge"><title>N58&#45;&gt;N1</title>
<g id="a_edge16"><a xlink:title="syscall.write &#45;&gt; syscall.Syscall (70ms)">
<path fill="none" stroke="black" d="M493.588,-806.606C498.867,-796.641 506.117,-784.141 514,-774 516.731,-770.486 519.714,-766.976 522.814,-763.546"/>
<polygon fill="black" stroke="black" points="525.427,-765.876 529.733,-756.196 520.33,-761.078 525.427,-765.876"/>
</a>
</g>
<g id="a_edge16&#45;label"><a xlink:title="syscall.write &#45;&gt; syscall.Syscall (70ms)">
<text text-anchor="middle" x="531" y="-777.8" font-family="Times,serif" font-size="14.00"> 70ms</text>
</a>
</g>
</g>
</g>
</g></svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment