Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
neoppod
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Milestones
Merge Requests
2
Merge Requests
2
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
neoppod
Commits
474c17bc
Commit
474c17bc
authored
Oct 10, 2017
by
Kirill Smelkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
b6d6344d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
206 additions
and
179 deletions
+206
-179
go/todo.dot
go/todo.dot
+5
-0
go/todo.svg
go/todo.svg
+201
-179
No files found.
go/todo.dot
View file @
474c17bc
...
...
@@ -19,6 +19,8 @@ digraph {
Sgo_speed
->
osnet_latency
;
Sgo_speed
->
QSgo_speed
;
QSgo_speed
->
prefetch_slow
;
QSgo_speed
->
parallel_slow
;
QSgo_speed
->
Mmap_go
;
QSgo_speed
->
sha1_index
;
...
...
@@ -93,4 +95,7 @@ digraph {
rtl_tcp_2eth
[
label
=
"RTL: TCP RR ↑ 400μs\n on 1 eth.f -> 2 eth.f"
]
;
rtl_patch
[
label
=
"r8169 patch\nethtool -C"
style
=
filled
fillcolor
=
lightyellow
]
;
prefetch_slow
[
label
=
"? prefetch\nslow"
]
;
parallel_slow
[
label
=
"? many clients\nSgo slower"
]
;
}
go/todo.svg
View file @
474c17bc
...
...
@@ -4,327 +4,349 @@
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: %3 Pages: 1 -->
<svg
width=
"1
236
pt"
height=
"601pt"
viewBox=
"0.00 0.00 1
236.25
601.22"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
>
<svg
width=
"1
509
pt"
height=
"601pt"
viewBox=
"0.00 0.00 1
508.99
601.22"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
>
<g
id=
"graph0"
class=
"graph"
transform=
"scale(1 1) rotate(0) translate(4 597.22)"
>
<title>
%3
</title>
<polygon
fill=
"white"
stroke=
"none"
points=
"-4,4 -4,-597.22 1
232.25,-597.22 1232.25
,4 -4,4"
/>
<polygon
fill=
"white"
stroke=
"none"
points=
"-4,4 -4,-597.22 1
504.99,-597.22 1504.99
,4 -4,4"
/>
<!-- Cgo -->
<g
id=
"node1"
class=
"node"
><title>
Cgo
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"4
52
"
cy=
"-503.22"
rx=
"27"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"4
40.5
"
y=
"-500.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
C
</text>
<text
text-anchor=
"start"
x=
"4
50.5
"
y=
"-500.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"4
46.747
"
cy=
"-503.22"
rx=
"27"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"4
35.247
"
y=
"-500.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
C
</text>
<text
text-anchor=
"start"
x=
"4
45.247
"
y=
"-500.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
</g>
<!-- SCgo_t -->
<g
id=
"node2"
class=
"node"
><title>
SCgo_t
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"4
52
"
cy=
"-431.22"
rx=
"69.5877"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"40
6.5
"
y=
"-428.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
S
</text>
<text
text-anchor=
"start"
x=
"4
14.5
"
y=
"-428.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<text
text-anchor=
"start"
x=
"42
7.5
"
y=
"-428.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
 
/ C
</text>
<text
text-anchor=
"start"
x=
"4
52.5
"
y=
"-428.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<text
text-anchor=
"start"
x=
"46
5.5
"
y=
"-428.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
 
tests
</text>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"4
46.747
"
cy=
"-431.22"
rx=
"69.5877"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"40
1.247
"
y=
"-428.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
S
</text>
<text
text-anchor=
"start"
x=
"4
09.247
"
y=
"-428.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<text
text-anchor=
"start"
x=
"42
2.247
"
y=
"-428.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
 
/ C
</text>
<text
text-anchor=
"start"
x=
"4
47.247
"
y=
"-428.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<text
text-anchor=
"start"
x=
"46
0.247
"
y=
"-428.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
 
tests
</text>
</g>
<!-- Cgo->SCgo_t -->
<g
id=
"edge1"
class=
"edge"
><title>
Cgo
->
SCgo_t
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M44
6.16,-485.631C445.297,-477.727 445.048,-468.072 445.412
,-459.156"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"44
8.903,-459.399 446.121,-449.177 441.921,-458.903 448.903
,-459.399"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M44
0.907,-485.631C440.044,-477.727 439.795,-468.072 440.159
,-459.156"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"44
3.65,-459.399 440.867,-449.177 436.668,-458.903 443.65
,-459.399"
/>
</g>
<!-- SCgo_t->Cgo -->
<g
id=
"edge5"
class=
"edge"
><title>
SCgo_t
->
Cgo
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M45
7.879,-449.177C458.714,-457.048 458.948,-466.594 458.58
3,-475.407"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"4
55.074,-475.404 457.84,-485.631 462.056,-475.911 455.074
,-475.404"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M45
2.626,-449.177C453.461,-457.048 453.695,-466.594 453.3
3,-475.407"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"4
49.821,-475.404 452.587,-485.631 456.803,-475.911 449.821
,-475.404"
/>
</g>
<!-- Sgo -->
<g
id=
"node3"
class=
"node"
><title>
Sgo
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"367"
cy=
"-359.22"
rx=
"27"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"35
6.5
"
y=
"-356.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
S
</text>
<text
text-anchor=
"start"
x=
"3
64.5
"
y=
"-356.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"36
1.74
7"
cy=
"-359.22"
rx=
"27"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"35
1.247
"
y=
"-356.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
S
</text>
<text
text-anchor=
"start"
x=
"3
59.247
"
y=
"-356.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
</g>
<!-- SCgo_t->Sgo -->
<g
id=
"edge4"
class=
"edge"
><title>
SCgo_t
->
Sgo
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M42
6.951,-414.336C414.314,-404.832 399.293,-392.614 387.366
,-382.193"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"38
9.46,-379.371 379.67,-375.322 384.798,-384.593 389.46
,-379.371"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M42
1.698,-414.336C409.061,-404.832 394.04,-392.614 382.113
,-382.193"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"38
4.207,-379.371 374.417,-375.322 379.545,-384.593 384.207
,-379.371"
/>
</g>
<!-- Mgo -->
<g
id=
"node4"
class=
"node"
><title>
Mgo
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"4
52
"
cy=
"-359.22"
rx=
"27.0966"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"43
9
"
y=
"-356.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
M
</text>
<text
text-anchor=
"start"
x=
"4
52
"
y=
"-356.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"4
46.747
"
cy=
"-359.22"
rx=
"27.0966"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"43
3.747
"
y=
"-356.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
M
</text>
<text
text-anchor=
"start"
x=
"4
46.747
"
y=
"-356.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
</g>
<!-- SCgo_t->Mgo -->
<g
id=
"edge3"
class=
"edge"
><title>
SCgo_t
->
Mgo
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M4
52,-412.917C452,-405.203 452,-395.933 452
,-387.333"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"45
5.5,-387.325 452,-377.325 448.5,-387.325 455.5
,-387.325"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M4
46.747,-412.917C446.747,-405.203 446.747,-395.933 446.747
,-387.333"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"45
0.247,-387.325 446.747,-377.325 443.247,-387.325 450.247
,-387.325"
/>
</g>
<!-- Sgo->SCgo_t -->
<g
id=
"edge2"
class=
"edge"
><title>
Sgo
->
SCgo_t
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M38
6.466,-371.971C399.334,-381.333 416.035,-394.747 429.443
,-406.343"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"42
7.488,-409.285 437.302,-413.275 432.118,-404.035 427.488
,-409.285"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M38
1.213,-371.971C394.081,-381.333 410.782,-394.747 424.19
,-406.343"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"42
2.234,-409.285 432.049,-413.275 426.865,-404.035 422.234
,-409.285"
/>
</g>
<!-- io_cancel -->
<g
id=
"node5"
class=
"node"
><title>
io_cancel
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"1
30
"
cy=
"-287.22"
rx=
"94.4839"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
30
"
y=
"-283.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
? conn IO vs ctx cancel
</text>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"1
24.747
"
cy=
"-287.22"
rx=
"94.4839"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
24.747
"
y=
"-283.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
? conn IO vs ctx cancel
</text>
</g>
<!-- Sgo->io_cancel -->
<g
id=
"edge6"
class=
"edge"
><title>
Sgo
->
io_cancel
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M3
42.529,-350.993C306.495,-340.35 238.084,-320.144 188.592
,-305.526"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"18
9.542,-302.157 178.961,-302.681 187.56,-308.871 189.542
,-302.157"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M3
37.276,-350.993C301.242,-340.35 232.831,-320.144 183.338
,-305.526"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"18
4.289,-302.157 173.707,-302.681 182.306,-308.871 184.289
,-302.157"
/>
</g>
<!-- load_serial_next -->
<g
id=
"node6"
class=
"node"
><title>
load_serial_next
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"367"
cy=
"-287.22"
rx=
"124.578"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"27
9
"
y=
"-284.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
? GetObject return += serial
</text>
<text
text-anchor=
"start"
x=
"4
34
"
y=
"-284.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
next
</text>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"36
1.74
7"
cy=
"-287.22"
rx=
"124.578"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"27
3.747
"
y=
"-284.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
? GetObject return += serial
</text>
<text
text-anchor=
"start"
x=
"4
28.747
"
y=
"-284.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
next
</text>
</g>
<!-- Sgo->load_serial_next -->
<g
id=
"edge7"
class=
"edge"
><title>
Sgo
->
load_serial_next
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M36
7,-340.917C367,-333.203 367,-323.933 36
7,-315.333"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"3
70.5,-315.325 367,-305.325 363.5,-315.325 370.5
,-315.325"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M36
1.747,-340.917C361.747,-333.203 361.747,-323.933 361.74
7,-315.333"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"3
65.247,-315.325 361.747,-305.325 358.247,-315.325 365.247
,-315.325"
/>
</g>
<!-- Sgo_speed -->
<g
id=
"node7"
class=
"node"
><title>
Sgo_speed
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"587"
cy=
"-287.22"
rx=
"77.1866"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"53
5.5
"
y=
"-284.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
S
</text>
<text
text-anchor=
"start"
x=
"5
43.5
"
y=
"-284.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<text
text-anchor=
"start"
x=
"55
6.5
"
y=
"-284.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
 
speed/latency
</text>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"58
1.74
7"
cy=
"-287.22"
rx=
"77.1866"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"53
0.247
"
y=
"-284.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
S
</text>
<text
text-anchor=
"start"
x=
"5
38.247
"
y=
"-284.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<text
text-anchor=
"start"
x=
"55
1.247
"
y=
"-284.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
 
speed/latency
</text>
</g>
<!-- Sgo->Sgo_speed -->
<g
id=
"edge8"
class=
"edge"
><title>
Sgo
->
Sgo_speed
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M3
90.375,-349.933C398.47,-347.11 407.616,-343.973 416,-341.22 454.568,-328.557 498.292,-315.02 531.872
,-304.796"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"5
32.954,-308.125 541.505,-301.87 530.919,-301.428 532.954
,-308.125"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M3
85.122,-349.933C393.217,-347.11 402.363,-343.973 410.747,-341.22 449.315,-328.557 493.039,-315.02 526.619
,-304.796"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"5
27.701,-308.125 536.252,-301.87 525.666,-301.428 527.701
,-308.125"
/>
</g>
<!-- garbage -->
<g
id=
"node8"
class=
"node"
><title>
garbage
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"1
44
"
cy=
"-206.35"
rx=
"38.1938"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
44
"
y=
"-202.65"
font-family=
"Times,serif"
font-size=
"14.00"
>
garbage
</text>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"1
54.747
"
cy=
"-206.35"
rx=
"38.1938"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
54.747
"
y=
"-202.65"
font-family=
"Times,serif"
font-size=
"14.00"
>
garbage
</text>
</g>
<!-- Sgo_speed->garbage -->
<g
id=
"edge9"
class=
"edge"
><title>
Sgo_speed
->
garbage
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M5
30.599,-274.874C520.741,-272.947 510.577,-270.997 501,-269.22 389.226,-248.49 257.35,-226.195 189.458,-214.87
6"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
189.958,-211.411 179.519,-213.221 188.809,-218.316 189.958,-211.411
"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M5
24.872,-274.847C515.16,-272.942 505.167,-271.006 495.747,-269.22 389.973,-249.172 265.475,-226.924 200.098,-215.34
6"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
200.582,-211.877 190.125,-213.581 199.363,-218.77 200.582,-211.877
"
/>
</g>
<!-- diskio -->
<g
id=
"node9"
class=
"node"
><title>
diskio
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"467"
cy=
"-206.35"
rx=
"34.394"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"467"
y=
"-202.65"
font-family=
"Times,serif"
font-size=
"14.00"
>
disk io
</text>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"46
6.74
7"
cy=
"-206.35"
rx=
"34.394"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"46
6.74
7"
y=
"-202.65"
font-family=
"Times,serif"
font-size=
"14.00"
>
disk io
</text>
</g>
<!-- Sgo_speed->diskio -->
<g
id=
"edge10"
class=
"edge"
><title>
Sgo_speed
->
diskio
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M5
62.427,-270.069C543.193,-257.428 516.394,-239.814 496.09,-226.47
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"497.
828,-223.424 487.549,-220.856 493.983,-229.273 497.828,-223.424
"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M5
58.197,-270.069C539.962,-257.563 514.63,-240.19 495.25,-226.898
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"497.
038,-223.88 486.811,-221.111 493.078,-229.653 497.038,-223.88
"
/>
</g>
<!-- ConnClose_notimer -->
<g
id=
"node10"
class=
"node"
><title>
ConnClose_notimer
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"587"
cy=
"-206.35"
rx=
"56.6372"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"587"
y=
"-210.15"
font-family=
"Times,serif"
font-size=
"14.00"
>
Conn.Close
</text>
<text
text-anchor=
"middle"
x=
"587"
y=
"-195.15"
font-family=
"Times,serif"
font-size=
"14.00"
>
no timer
</text>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"58
1.74
7"
cy=
"-206.35"
rx=
"56.6372"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"58
1.74
7"
y=
"-210.15"
font-family=
"Times,serif"
font-size=
"14.00"
>
Conn.Close
</text>
<text
text-anchor=
"middle"
x=
"58
1.74
7"
y=
"-195.15"
font-family=
"Times,serif"
font-size=
"14.00"
>
no timer
</text>
</g>
<!-- Sgo_speed->ConnClose_notimer -->
<g
id=
"edge11"
class=
"edge"
><title>
Sgo_speed
->
ConnClose_notimer
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M58
7,-269.107C587,-261.617 587,-252.526 58
7,-243.648"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"5
90.5,-243.433 587,-233.433 583.5,-243.433 590.5
,-243.433"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M58
1.747,-269.107C581.747,-261.617 581.747,-252.526 581.74
7,-243.648"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"5
85.247,-243.433 581.747,-233.433 578.247,-243.433 585.247
,-243.433"
/>
</g>
<!-- osnet_latency -->
<g
id=
"node11"
class=
"node"
><title>
osnet_latency
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"7
2
7"
cy=
"-206.35"
rx=
"60.2083"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"7
2
7"
y=
"-210.15"
font-family=
"Times,serif"
font-size=
"14.00"
>
OS/Network
</text>
<text
text-anchor=
"middle"
x=
"7
2
7"
y=
"-195.15"
font-family=
"Times,serif"
font-size=
"14.00"
>
latency
</text>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"7
19.74
7"
cy=
"-206.35"
rx=
"60.2083"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"7
19.74
7"
y=
"-210.15"
font-family=
"Times,serif"
font-size=
"14.00"
>
OS/Network
</text>
<text
text-anchor=
"middle"
x=
"7
19.74
7"
y=
"-195.15"
font-family=
"Times,serif"
font-size=
"14.00"
>
latency
</text>
</g>
<!-- Sgo_speed->osnet_latency -->
<g
id=
"edge12"
class=
"edge"
><title>
Sgo_speed
->
osnet_latency
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M6
15.331,-270.26C634.432,-259.499 660.041,-245.072 681.916,-232.7
48"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"6
83.724,-235.747 690.719,-227.79 680.288,-229.648 683.724,-235.747
"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M6
09.673,-270.26C628.349,-259.586 653.336,-245.306 674.782,-233.0
48"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"6
76.783,-235.936 683.728,-227.936 673.309,-229.859 676.783,-235.936
"
/>
</g>
<!-- QSgo_speed -->
<g
id=
"node12"
class=
"node"
><title>
QSgo_speed
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"10
01
"
cy=
"-206.35"
rx=
"27"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"
997.
5"
y=
"-202.65"
font-family=
"Times,serif"
font-size=
"14.00"
>
?
</text>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"10
88.75
"
cy=
"-206.35"
rx=
"27"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"
1085.2
5"
y=
"-202.65"
font-family=
"Times,serif"
font-size=
"14.00"
>
?
</text>
</g>
<!-- Sgo_speed->QSgo_speed -->
<g
id=
"edge13"
class=
"edge"
><title>
Sgo_speed
->
QSgo_speed
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M64
5.001,-275.171C731.964,-258.604 893.563,-227.818 965.208,-214.169
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
965.938,-217.593 975.106,-212.283 964.628,-210.717 965.938,-217.593
"
/>
<path
fill=
"none"
stroke=
"black"
d=
"M64
4.169,-276.51C751.392,-259.83 967.259,-226.249 1052.72,-212.954
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
1053.38,-216.395 1062.72,-211.399 1052.3,-209.478 1053.38,-216.395
"
/>
</g>
<!-- pktbuf_alloc -->
<g
id=
"node1
5
"
class=
"node"
><title>
pktbuf_alloc
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"
186
"
cy=
"-116.61"
rx=
"35.9954"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"16
6.5
"
y=
"-112.91"
font-family=
"Times,serif"
font-size=
"14.00"
>
PktBuf
</text>
<g
id=
"node1
7
"
class=
"node"
><title>
pktbuf_alloc
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"
35.7468
"
cy=
"-116.61"
rx=
"35.9954"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"16
.2468
"
y=
"-112.91"
font-family=
"Times,serif"
font-size=
"14.00"
>
PktBuf
</text>
</g>
<!-- garbage->pktbuf_alloc -->
<g
id=
"edge1
6
"
class=
"edge"
><title>
garbage
->
pktbuf_alloc
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M1
52.098,-188.433C158.18,-175.729 166.618,-158.1 173.554,-143.61
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
176.908,-144.709 178.069,-134.178 170.595,-141.687 176.908,-144.709
"
/>
<g
id=
"edge1
8
"
class=
"edge"
><title>
garbage
->
pktbuf_alloc
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M1
35.096,-190.862C115.515,-176.424 85.2765,-154.129 63.3016,-137.927
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
65.1574,-134.946 55.0316,-131.829 61.0033,-140.581 65.1574,-134.946
"
/>
</g>
<!-- msg_alloc -->
<g
id=
"node1
6
"
class=
"node"
><title>
msg_alloc
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"
2
7"
cy=
"-116.61"
rx=
"27"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"1
4.5
"
y=
"-112.91"
font-family=
"Times,serif"
font-size=
"14.00"
>
Msg
</text>
<g
id=
"node1
8
"
class=
"node"
><title>
msg_alloc
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"
116.74
7"
cy=
"-116.61"
rx=
"27"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"1
04.247
"
y=
"-112.91"
font-family=
"Times,serif"
font-size=
"14.00"
>
Msg
</text>
</g>
<!-- garbage->msg_alloc -->
<g
id=
"edge1
7
"
class=
"edge"
><title>
garbage
->
msg_alloc
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M1
24.417,-190.665C104.661,-175.849 74.0685,-152.908 52.445,-136.692
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
54.4545,-133.824 44.3543,-130.624 50.2548,-139.424 54.4545,-133.824
"
/>
<g
id=
"edge1
9
"
class=
"edge"
><title>
garbage
->
msg_alloc
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M1
47.42,-188.433C141.918,-175.729 134.283,-158.1 128.007,-143.61
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
131.108,-141.963 123.922,-134.178 124.685,-144.745 131.108,-141.963
"
/>
</g>
<!-- conn_alloc -->
<g
id=
"node1
7
"
class=
"node"
><title>
conn_alloc
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"1
02
"
cy=
"-116.61"
rx=
"29.795"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"
8
7"
y=
"-112.91"
font-family=
"Times,serif"
font-size=
"14.00"
>
Conn
</text>
<g
id=
"node1
9
"
class=
"node"
><title>
conn_alloc
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"1
91.747
"
cy=
"-116.61"
rx=
"29.795"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"
176.74
7"
y=
"-112.91"
font-family=
"Times,serif"
font-size=
"14.00"
>
Conn
</text>
</g>
<!-- garbage->conn_alloc -->
<g
id=
"edge
18
"
class=
"edge"
><title>
garbage
->
conn_alloc
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M1
35.902,-188.433C129.82,-175.729 121.382,-158.1 114.446
,-143.61"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"1
17.405,-141.687 109.931,-134.178 111.092,-144.709 117.405,-141.687
"
/>
<g
id=
"edge
20
"
class=
"edge"
><title>
garbage
->
conn_alloc
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M1
61.881,-188.433C167.238,-175.729 174.672,-158.1 180.783
,-143.61"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"1
84.1,-144.752 184.76,-134.178 177.65,-142.032 184.1,-144.752
"
/>
</g>
<!-- gosched -->
<g
id=
"node
18
"
class=
"node"
><title>
gosched
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"black"
cx=
"30
5
"
cy=
"-116.61"
rx=
"65.1077"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"30
5
"
y=
"-120.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
?
</text>
<text
text-anchor=
"middle"
x=
"30
5
"
y=
"-105.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
go scheduling
</text>
<g
id=
"node
20
"
class=
"node"
><title>
gosched
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"black"
cx=
"30
4.747
"
cy=
"-116.61"
rx=
"65.1077"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"30
4.747
"
y=
"-120.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
?
</text>
<text
text-anchor=
"middle"
x=
"30
4.747
"
y=
"-105.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
go scheduling
</text>
</g>
<!-- diskio->gosched -->
<g
id=
"edge
19
"
class=
"edge"
><title>
diskio
->
gosched
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M443.
789,-192.779C420.083,-179.94 382.595,-159.636 352.554
,-143.365"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"353.
953,-140.143 343.493,-138.458 350.619,-146.298 353.953
,-140.143"
/>
<g
id=
"edge
21
"
class=
"edge"
><title>
diskio
->
gosched
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M443.
536,-192.779C419.829,-179.94 382.342,-159.636 352.3
,-143.365"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"353.
7,-140.143 343.24,-138.458 350.366,-146.298 353.7
,-140.143"
/>
</g>
<!-- GOMAXPROCS -->
<g
id=
"node
19
"
class=
"node"
><title>
GOMAXPROCS
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"467"
cy=
"-116.61"
rx=
"78.4777"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"467"
y=
"-120.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
?
</text>
<text
text-anchor=
"middle"
x=
"467"
y=
"-105.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
GOMAXPROCS
</text>
<g
id=
"node
21
"
class=
"node"
><title>
GOMAXPROCS
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"46
6.74
7"
cy=
"-116.61"
rx=
"78.4777"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"46
6.74
7"
y=
"-120.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
?
</text>
<text
text-anchor=
"middle"
x=
"46
6.74
7"
y=
"-105.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
GOMAXPROCS
</text>
</g>
<!-- diskio->GOMAXPROCS -->
<g
id=
"edge2
0
"
class=
"edge"
><title>
diskio
->
GOMAXPROCS
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M46
7,-188.016C467,-178.204 467,-165.557 46
7,-153.694"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"470.
5,-153.562 467,-143.562 463.5,-153.562 470.5
,-153.562"
/>
<g
id=
"edge2
2
"
class=
"edge"
><title>
diskio
->
GOMAXPROCS
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M46
6.747,-188.016C466.747,-178.204 466.747,-165.557 466.74
7,-153.694"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"470.
247,-153.562 466.747,-143.562 463.247,-153.562 470.247
,-153.562"
/>
</g>
<!-- rx_no_delay -->
<g
id=
"node2
5
"
class=
"node"
><title>
rx_no_delay
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"
840
"
cy=
"-116.61"
rx=
"44.5955"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"
840
"
y=
"-120.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
net rx
</text>
<text
text-anchor=
"middle"
x=
"
840
"
y=
"-105.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
no delay
</text>
<g
id=
"node2
7
"
class=
"node"
><title>
rx_no_delay
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"
607.747
"
cy=
"-116.61"
rx=
"44.5955"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"
607.747
"
y=
"-120.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
net rx
</text>
<text
text-anchor=
"middle"
x=
"
607.747
"
y=
"-105.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
no delay
</text>
</g>
<!-- osnet_latency->rx_no_delay -->
<g
id=
"edge2
5
"
class=
"edge"
><title>
osnet_latency
->
rx_no_delay
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M
756.1,-182.755C771.136,-171.081 789.586,-156.754 805.353
,-144.512"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
807.569,-147.223 813.321,-138.325 803.276,-141.694 807.569,-147.223
"
/>
<g
id=
"edge2
7
"
class=
"edge"
><title>
osnet_latency
->
rx_no_delay
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M
690.904,-182.755C676.002,-171.081 657.714,-156.754 642.087
,-144.512"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
644.22,-141.737 634.19,-138.325 639.903,-147.247 644.22,-141.737
"
/>
</g>
<!-- nocstates -->
<g
id=
"node2
6
"
class=
"node"
><title>
nocstates
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"
61
7"
cy=
"-116.61"
rx=
"53.8905"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"
61
7"
y=
"-112.91"
font-family=
"Times,serif"
font-size=
"14.00"
>
disable
>
C1
</text>
<g
id=
"node2
8
"
class=
"node"
><title>
nocstates
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"
723.74
7"
cy=
"-116.61"
rx=
"53.8905"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"
723.74
7"
y=
"-112.91"
font-family=
"Times,serif"
font-size=
"14.00"
>
disable
>
C1
</text>
</g>
<!-- osnet_latency->nocstates -->
<g
id=
"edge2
6
"
class=
"edge"
><title>
osnet_latency
->
nocstates
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M
698.386,-182.527C681.907,-169.382 661.286,-152.934 644.924,-139.883
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
646.801,-136.904 636.801,-133.404 642.436,-142.376 646.801,-136.904
"
/>
<g
id=
"edge2
8
"
class=
"edge"
><title>
osnet_latency
->
nocstates
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M
720.947,-179.025C721.437,-168.274 722.004,-155.839 722.499,-144.982
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
726.005,-144.921 722.964,-134.772 719.013,-144.602 726.005,-144.921
"
/>
</g>
<!-- tcp_latency -->
<g
id=
"node2
7
"
class=
"node"
><title>
tcp_latency
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"
733
"
cy=
"-116.61"
rx=
"44.5955"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"
733
"
y=
"-120.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
TCP RR
</text>
<text
text-anchor=
"middle"
x=
"
733
"
y=
"-105.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
latency
</text>
<g
id=
"node2
9
"
class=
"node"
><title>
tcp_latency
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"
839.747
"
cy=
"-116.61"
rx=
"44.5955"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"
839.747
"
y=
"-120.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
TCP RR
</text>
<text
text-anchor=
"middle"
x=
"
839.747
"
y=
"-105.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
latency
</text>
</g>
<!-- osnet_latency->tcp_latency -->
<g
id=
"edge27"
class=
"edge"
><title>
osnet_latency
->
tcp_latency
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M728.8,-179.025C729.345,-171.059 729.953,-162.168 730.533,-153.679"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"734.031,-153.83 731.222,-143.614 727.048,-153.352 734.031,-153.83"
/>
<g
id=
"edge29"
class=
"edge"
><title>
osnet_latency
->
tcp_latency
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M750.338,-182.983C766.689,-171.028 786.911,-156.242 803.985,-143.758"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"806.077,-146.564 812.083,-137.837 801.945,-140.914 806.077,-146.564"
/>
</g>
<!-- prefetch_slow -->
<g
id=
"node13"
class=
"node"
><title>
prefetch_slow
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"952.747"
cy=
"-116.61"
rx=
"50.41"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"952.747"
y=
"-120.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
? prefetch
</text>
<text
text-anchor=
"middle"
x=
"952.747"
y=
"-105.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
slow
</text>
</g>
<!-- QSgo_speed->prefetch_slow -->
<g
id=
"edge14"
class=
"edge"
><title>
QSgo_speed
->
prefetch_slow
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M1069.84,-193.15C1049.99,-180.346 1018.19,-159.833 992.742,-143.413"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"994.334,-140.275 984.033,-137.795 990.539,-146.157 994.334,-140.275"
/>
</g>
<!-- parallel_slow -->
<g
id=
"node14"
class=
"node"
><title>
parallel_slow
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"1088.75"
cy=
"-116.61"
rx=
"67.7647"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"1088.75"
y=
"-120.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
? many clients
</text>
<text
text-anchor=
"middle"
x=
"1088.75"
y=
"-105.41"
font-family=
"Times,serif"
font-size=
"14.00"
>
Sgo slower
</text>
</g>
<!-- QSgo_speed->parallel_slow -->
<g
id=
"edge15"
class=
"edge"
><title>
QSgo_speed
->
parallel_slow
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M1088.75,-188.016C1088.75,-178.204 1088.75,-165.557 1088.75,-153.694"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"1092.25,-153.562 1088.75,-143.562 1085.25,-153.562 1092.25,-153.562"
/>
</g>
<!-- Mmap_go -->
<g
id=
"node1
3
"
class=
"node"
><title>
Mmap_go
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"1
001
"
cy=
"-116.61"
rx=
"98.5829"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
001
"
y=
"-112.91"
font-family=
"Times,serif"
font-size=
"14.00"
>
? io.ReaderAt via mmap
</text>
<g
id=
"node1
5
"
class=
"node"
><title>
Mmap_go
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"1
273.75
"
cy=
"-116.61"
rx=
"98.5829"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
273.75
"
y=
"-112.91"
font-family=
"Times,serif"
font-size=
"14.00"
>
? io.ReaderAt via mmap
</text>
</g>
<!-- QSgo_speed->Mmap_go -->
<g
id=
"edge1
4
"
class=
"edge"
><title>
QSgo_speed
->
Mmap_go
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M1
001,-188.016C1001,-175.679 1001,-158.857 1001,-144.75
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"1
004.5,-144.61 1001,-134.61 997.5,-144.61 1004.5,-144.61
"
/>
<g
id=
"edge1
6
"
class=
"edge"
><title>
QSgo_speed
->
Mmap_go
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M1
110.33,-195.114C1139.77,-181.153 1193.15,-155.836 1230.88,-137.942
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"1
232.57,-141.012 1240.11,-133.564 1229.57,-134.687 1232.57,-141.012
"
/>
</g>
<!-- sha1_index -->
<g
id=
"node1
4
"
class=
"node"
><title>
sha1_index
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"1
173
"
cy=
"-116.61"
rx=
"55.4913"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
173
"
y=
"-112.91"
font-family=
"Times,serif"
font-size=
"14.00"
>
? sha1 index
</text>
<g
id=
"node1
6
"
class=
"node"
><title>
sha1_index
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"1
445.75
"
cy=
"-116.61"
rx=
"55.4913"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
445.75
"
y=
"-112.91"
font-family=
"Times,serif"
font-size=
"14.00"
>
? sha1 index
</text>
</g>
<!-- QSgo_speed->sha1_index -->
<g
id=
"edge1
5
"
class=
"edge"
><title>
QSgo_speed
->
sha1_index
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M1
021.75,-194.767C1049.88,-180.416 1100.61,-154.536 1135.51,-136.735
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"1
137.14,-139.832 1144.46,-132.17 1133.96,-133.596 1137.14,-139.832
"
/>
<g
id=
"edge1
7
"
class=
"edge"
><title>
QSgo_speed
->
sha1_index
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M1
115,-201.4C1166.76,-193.267 1285.28,-172.912 1381.75,-143.48 1389.4,-141.144 1397.42,-138.266 1405.09,-135.287
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"1
406.58,-138.46 1414.57,-131.494 1403.98,-131.961 1406.58,-138.46
"
/>
</g>
<!-- Cpy_r_Sgo -->
<g
id=
"node2
0
"
class=
"node"
><title>
Cpy_r_Sgo
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"2
64
"
cy=
"-431.22"
rx=
"61.99"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"2
24.5
"
y=
"-428.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
C
</text>
<text
text-anchor=
"start"
x=
"2
34.5
"
y=
"-428.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
py
</text>
<text
text-anchor=
"start"
x=
"24
7.5
"
y=
"-428.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
 
read S
</text>
<text
text-anchor=
"start"
x=
"2
90.5
"
y=
"-428.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<g
id=
"node2
2
"
class=
"node"
><title>
Cpy_r_Sgo
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"2
58.747
"
cy=
"-431.22"
rx=
"61.99"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"2
19.247
"
y=
"-428.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
C
</text>
<text
text-anchor=
"start"
x=
"2
29.247
"
y=
"-428.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
py
</text>
<text
text-anchor=
"start"
x=
"24
2.247
"
y=
"-428.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
 
read S
</text>
<text
text-anchor=
"start"
x=
"2
85.247
"
y=
"-428.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
</g>
<!-- Cpy_r_Sgo->Sgo -->
<g
id=
"edge2
1
"
class=
"edge"
><title>
Cpy_r_Sgo
->
Sgo
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M28
7.115,-414.511C302.829,-403.832 323.671,-389.667 340.125
,-378.485"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"3
42.452,-381.135 348.755,-372.62 338.517,-375.346 342.452
,-381.135"
/>
<g
id=
"edge2
3
"
class=
"edge"
><title>
Cpy_r_Sgo
->
Sgo
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M28
1.862,-414.511C297.576,-403.832 318.417,-389.667 334.872
,-378.485"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"3
37.199,-381.135 343.502,-372.62 333.264,-375.346 337.199
,-381.135"
/>
</g>
<!-- Cgo_r_Sgo -->
<g
id=
"node2
1
"
class=
"node"
><title>
Cgo_r_Sgo
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"3
54
"
cy=
"-575.22"
rx=
"61.99"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"3
14.5
"
y=
"-572.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
C
</text>
<text
text-anchor=
"start"
x=
"3
24.5
"
y=
"-572.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<text
text-anchor=
"start"
x=
"33
7.5
"
y=
"-572.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
 
read S
</text>
<text
text-anchor=
"start"
x=
"3
80.5
"
y=
"-572.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<g
id=
"node2
3
"
class=
"node"
><title>
Cgo_r_Sgo
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"3
48.747
"
cy=
"-575.22"
rx=
"61.99"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"3
09.247
"
y=
"-572.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
C
</text>
<text
text-anchor=
"start"
x=
"3
19.247
"
y=
"-572.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<text
text-anchor=
"start"
x=
"33
2.247
"
y=
"-572.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
 
read S
</text>
<text
text-anchor=
"start"
x=
"3
75.247
"
y=
"-572.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
</g>
<!-- Cgo_r_Sgo->Cgo -->
<g
id=
"edge2
2
"
class=
"edge"
><title>
Cgo_r_Sgo
->
Cgo
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M37
6.238,-558.336C391.009,-547.785 410.461,-533.891 425.956
,-522.824"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"42
7.999,-525.665 434.102,-517.005 423.93,-519.969 427.999
,-525.665"
/>
<g
id=
"edge2
4
"
class=
"edge"
><title>
Cgo_r_Sgo
->
Cgo
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M37
0.985,-558.336C385.756,-547.785 405.207,-533.891 420.702
,-522.824"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"42
2.746,-525.665 428.849,-517.005 418.677,-519.969 422.746
,-525.665"
/>
</g>
<!-- Cgo_r_Sgo->Sgo -->
<g
id=
"edge2
3
"
class=
"edge"
><title>
Cgo_r_Sgo
->
Sgo
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M3
55.042,-557.07C357.291,-520.052 362.615,-432.401 365.336
,-387.607"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"36
8.84,-387.647 365.953,-377.453 361.853,-387.222 368.84
,-387.647"
/>
<g
id=
"edge2
5
"
class=
"edge"
><title>
Cgo_r_Sgo
->
Sgo
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M3
49.789,-557.07C352.037,-520.052 357.362,-432.401 360.083
,-387.607"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"36
3.587,-387.647 360.7,-377.453 356.6,-387.222 363.587
,-387.647"
/>
</g>
<!-- Cgo_r_Spy -->
<g
id=
"node2
2
"
class=
"node"
><title>
Cgo_r_Spy
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"4
95
"
cy=
"-575.22"
rx=
"61.99"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"45
5.5
"
y=
"-572.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
C
</text>
<text
text-anchor=
"start"
x=
"46
5.5
"
y=
"-572.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<text
text-anchor=
"start"
x=
"47
8.5
"
y=
"-572.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
 
read S
</text>
<text
text-anchor=
"start"
x=
"5
21.5
"
y=
"-572.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
py
</text>
<g
id=
"node2
4
"
class=
"node"
><title>
Cgo_r_Spy
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"4
89.747
"
cy=
"-575.22"
rx=
"61.99"
ry=
"18"
/>
<text
text-anchor=
"start"
x=
"45
0.247
"
y=
"-572.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
C
</text>
<text
text-anchor=
"start"
x=
"46
0.247
"
y=
"-572.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
go
</text>
<text
text-anchor=
"start"
x=
"47
3.247
"
y=
"-572.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
 
read S
</text>
<text
text-anchor=
"start"
x=
"5
16.247
"
y=
"-572.52"
font-family=
"Times,serif"
baseline-shift=
"sub"
font-size=
"14.00"
>
py
</text>
</g>
<!-- Cgo_r_Spy->Cgo -->
<g
id=
"edge2
4
"
class=
"edge"
><title>
Cgo_r_Spy
->
Cgo
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M4
84.591,-557.275C479.317,-548.69 472.817,-538.108 467.013
,-528.659"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"46
9.94,-526.739 461.724,-520.05 463.976,-530.403 469.94
,-526.739"
/>
<g
id=
"edge2
6
"
class=
"edge"
><title>
Cgo_r_Spy
->
Cgo
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M4
79.338,-557.275C474.064,-548.69 467.564,-538.108 461.759
,-528.659"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"46
4.687,-526.739 456.471,-520.05 458.723,-530.403 464.687
,-526.739"
/>
</g>
<!-- Cleanup -->
<g
id=
"node2
3
"
class=
"node"
><title>
Cleanup
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"6
42
"
cy=
"-575.22"
rx=
"66.8882"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"6
42
"
y=
"-571.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
Cleanup history
</text>
<g
id=
"node2
5
"
class=
"node"
><title>
Cleanup
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"6
36.747
"
cy=
"-575.22"
rx=
"66.8882"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"6
36.747
"
y=
"-571.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
Cleanup history
</text>
</g>
<!-- Post -->
<g
id=
"node2
4
"
class=
"node"
><title>
Post
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"7
54
"
cy=
"-575.22"
rx=
"27"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"7
54
"
y=
"-571.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
Post
</text>
<g
id=
"node2
6
"
class=
"node"
><title>
Post
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"7
48.747
"
cy=
"-575.22"
rx=
"27"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"7
48.747
"
y=
"-571.52"
font-family=
"Times,serif"
font-size=
"14.00"
>
Post
</text>
</g>
<!-- rtl_patch -->
<g
id=
"node
29
"
class=
"node"
><title>
rtl_patch
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"
876
"
cy=
"-26.8701"
rx=
"57.0522"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"
876
"
y=
"-30.6701"
font-family=
"Times,serif"
font-size=
"14.00"
>
r8169 patch
</text>
<text
text-anchor=
"middle"
x=
"
876
"
y=
"-15.6701"
font-family=
"Times,serif"
font-size=
"14.00"
>
ethtool
-
C
</text>
<g
id=
"node
31
"
class=
"node"
><title>
rtl_patch
</title>
<ellipse
fill=
"lightyellow"
stroke=
"black"
cx=
"
607.747
"
cy=
"-26.8701"
rx=
"57.0522"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"
607.747
"
y=
"-30.6701"
font-family=
"Times,serif"
font-size=
"14.00"
>
r8169 patch
</text>
<text
text-anchor=
"middle"
x=
"
607.747
"
y=
"-15.6701"
font-family=
"Times,serif"
font-size=
"14.00"
>
ethtool
-
C
</text>
</g>
<!-- rx_no_delay->rtl_patch -->
<g
id=
"edge
29
"
class=
"edge"
><title>
rx_no_delay
->
rtl_patch
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M
850.413,-90.2321C853.927,-81.6677 857.913,-71.9524 861.675,-62.7825
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
864.928,-64.0752 865.486,-53.4951 858.452,-61.418 864.928,-64.0752
"
/>
<g
id=
"edge
31
"
class=
"edge"
><title>
rx_no_delay
->
rtl_patch
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M
607.747,-89.2852C607.747,-81.3185 607.747,-72.4275 607.747,-63.9391
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
611.247,-63.874 607.747,-53.874 604.247,-63.8741 611.247,-63.874
"
/>
</g>
<!-- rtl_tcp_2eth -->
<g
id=
"node
28
"
class=
"node"
><title>
rtl_tcp_2eth
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"
698
"
cy=
"-26.8701"
rx=
"102.561"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"
698
"
y=
"-30.6701"
font-family=
"Times,serif"
font-size=
"14.00"
>
RTL: TCP RR ↑ 400μs
</text>
<text
text-anchor=
"middle"
x=
"
698
"
y=
"-15.6701"
font-family=
"Times,serif"
font-size=
"14.00"
>
on 1 eth.f
->
2 eth.f
</text>
<g
id=
"node
30
"
class=
"node"
><title>
rtl_tcp_2eth
</title>
<ellipse
fill=
"none"
stroke=
"black"
cx=
"
839.747
"
cy=
"-26.8701"
rx=
"102.561"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"
839.747
"
y=
"-30.6701"
font-family=
"Times,serif"
font-size=
"14.00"
>
RTL: TCP RR ↑ 400μs
</text>
<text
text-anchor=
"middle"
x=
"
839.747
"
y=
"-15.6701"
font-family=
"Times,serif"
font-size=
"14.00"
>
on 1 eth.f
->
2 eth.f
</text>
</g>
<!-- tcp_latency->rtl_tcp_2eth -->
<g
id=
"edge
28
"
class=
"edge"
><title>
tcp_latency
->
rtl_tcp_2eth
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M
722.877,-90.2321C719.526,-81.8322 715.733,-72.3252 712.138,-63.3115
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
715.3,-61.7914 708.344,-53.8 708.798,-64.3851 715.3,-61.791
4"
/>
<g
id=
"edge
30
"
class=
"edge"
><title>
tcp_latency
->
rtl_tcp_2eth
</title>
<path
fill=
"none"
stroke=
"black"
d=
"M
839.747,-89.2852C839.747,-81.3185 839.747,-72.4275 839.747,-63.9391
"
/>
<polygon
fill=
"black"
stroke=
"black"
points=
"
843.247,-63.874 839.747,-53.874 836.247,-63.8741 843.247,-63.87
4"
/>
</g>
</g>
</svg>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment