197 lines
4.9 KiB
XML
197 lines
4.9 KiB
XML
<svg class="bob" font-family="arial" font-size="14" height="464" width="640" xmlns="http://www.w3.org/2000/svg">
|
|
<defs>
|
|
<marker id="triangle" markerHeight="8" markerWidth="8" orient="auto" refX="4" refY="2" viewBox="0 0 8 4">
|
|
<polygon fill="black" points="0,0 0,4 8,2 0,0"/>
|
|
</marker>
|
|
<marker id="clear_triangle" markerHeight="10" markerWidth="10" orient="auto" refX="1" refY="7" viewBox="0 0 20 14">
|
|
<polygon fill="none" points="2,2 2,12 18,7 2,2" stroke="black" stroke-width="2"/>
|
|
</marker>
|
|
<marker id="circle" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
|
|
<circle cx="10" cy="10" fill="black" r="8"/>
|
|
</marker>
|
|
<marker id="square" markerHeight="5" markerWidth="5" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
|
|
<rect fill="black" height="20" width="20" x="0" y="0"/>
|
|
</marker>
|
|
<marker id="open_circle" markerHeight="10" markerWidth="10" orient="auto" refX="10" refY="10" viewBox="0 0 20 20">
|
|
<circle cx="10" cy="10" fill="white" r="4" stroke="black" stroke-width="2"/>
|
|
</marker>
|
|
<marker id="big_open_circle" markerHeight="20" markerWidth="20" orient="auto" refX="20" refY="20" viewBox="0 0 40 40">
|
|
<circle cx="20" cy="20" fill="white" r="6" stroke="black" stroke-width="2"/>
|
|
</marker>
|
|
</defs>
|
|
<style type="text/css">
|
|
|
|
line,path {
|
|
stroke: black;
|
|
stroke-width: 2;
|
|
stroke-opacity: 1;
|
|
fill-opacity: 1;
|
|
stroke-linecap: round;
|
|
stroke-linejoin: miter;
|
|
}
|
|
line.dashed {
|
|
stroke-dasharray: 5;
|
|
}
|
|
circle.solid {
|
|
fill:black;
|
|
stroke: black;
|
|
stroke-width: 2;
|
|
stroke-opacity: 1;
|
|
fill-opacity: 1;
|
|
stroke-linecap: round;
|
|
stroke-linejoin: miter;
|
|
}
|
|
circle.open {
|
|
fill:none;
|
|
stroke: black;
|
|
stroke-width: 2;
|
|
stroke-opacity: 1;
|
|
fill-opacity: 1;
|
|
stroke-linecap: round;
|
|
stroke-linejoin: miter;
|
|
}
|
|
tspan.head{
|
|
fill: none;
|
|
stroke: none;
|
|
}
|
|
|
|
</style>
|
|
<rect fill="white" height="464" width="640" x="0" y="0"/>
|
|
<g>
|
|
<line x1="52" x2="52" y1="152" y2="184"/>
|
|
<line x1="52" x2="124" y1="152" y2="152"/>
|
|
<line x1="52" x2="132" y1="184" y2="184"/>
|
|
<line x1="124" x2="236" y1="152" y2="152"/>
|
|
<line marker-end="url(#triangle)" x1="132" x2="132" y1="184" y2="236"/>
|
|
<line x1="132" x2="236" y1="184" y2="184"/>
|
|
<line x1="236" x2="236" y1="152" y2="184"/>
|
|
</g>
|
|
<g>
|
|
<line x1="68" x2="68" y1="56" y2="88"/>
|
|
<line x1="68" x2="204" y1="56" y2="56"/>
|
|
<line x1="68" x2="124" y1="88" y2="88"/>
|
|
<line x1="124" x2="204" y1="88" y2="88"/>
|
|
<line x1="204" x2="204" y1="56" y2="88"/>
|
|
</g>
|
|
<g>
|
|
<line x1="92" x2="92" y1="248" y2="280"/>
|
|
<line x1="92" x2="132" y1="248" y2="248"/>
|
|
<line x1="92" x2="132" y1="280" y2="280"/>
|
|
<line x1="132" x2="172" y1="248" y2="248"/>
|
|
<line x1="132" x2="132" y1="280" y2="328"/>
|
|
<line x1="132" x2="172" y1="280" y2="280"/>
|
|
<line marker-end="url(#triangle)" x1="132" x2="388" y1="328" y2="328"/>
|
|
<line x1="172" x2="172" y1="248" y2="280"/>
|
|
</g>
|
|
<g>
|
|
<line marker-end="url(#triangle)" x1="132" x2="132" y1="96" y2="140"/>
|
|
</g>
|
|
<g>
|
|
<line x1="396" x2="396" y1="152" y2="184"/>
|
|
<line x1="396" x2="532" y1="152" y2="152"/>
|
|
<line x1="396" x2="396" y1="184" y2="216"/>
|
|
<line x1="396" x2="532" y1="184" y2="184"/>
|
|
<line x1="396" x2="396" y1="216" y2="248"/>
|
|
<line x1="396" x2="532" y1="216" y2="216"/>
|
|
<line x1="396" x2="396" y1="248" y2="280"/>
|
|
<line x1="396" x2="532" y1="248" y2="248"/>
|
|
<line x1="396" x2="396" y1="280" y2="312"/>
|
|
<line x1="396" x2="532" y1="280" y2="280"/>
|
|
<line x1="396" x2="396" y1="312" y2="344"/>
|
|
<line x1="396" x2="532" y1="312" y2="312"/>
|
|
<line x1="396" x2="396" y1="344" y2="376"/>
|
|
<line x1="396" x2="532" y1="344" y2="344"/>
|
|
<line x1="396" x2="396" y1="376" y2="408"/>
|
|
<line x1="396" x2="532" y1="376" y2="376"/>
|
|
<line x1="396" x2="532" y1="408" y2="408"/>
|
|
<line x1="532" x2="532" y1="152" y2="184"/>
|
|
<line x1="532" x2="532" y1="184" y2="216"/>
|
|
<line x1="532" x2="532" y1="216" y2="248"/>
|
|
<line x1="532" x2="532" y1="248" y2="280"/>
|
|
<line x1="532" x2="532" y1="280" y2="312"/>
|
|
<line x1="532" x2="532" y1="312" y2="344"/>
|
|
<line x1="532" x2="532" y1="344" y2="376"/>
|
|
<line x1="532" x2="532" y1="376" y2="408"/>
|
|
</g>
|
|
<g>
|
|
<text x="57" y="444">
|
|
parallel_hash_map with 8 submaps, each submap is an absl::flat_hash_map
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="65" y="172">
|
|
h=0x7d84ea13707f4657
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="73" y="76">
|
|
(keyi, valuei)
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="97" y="268">
|
|
idx = 5
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="145" y="220">
|
|
(h ^ (h >> 3)) & 0x7
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="153" y="124">
|
|
hasher(keyi)
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="401" y="124">
|
|
Parallel Hash Map
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="401" y="140">
|
|
(with 8 submaps)
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="417" y="172">
|
|
submap0
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="417" y="204">
|
|
submap1
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="417" y="236">
|
|
submap2
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="417" y="268">
|
|
submap3
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="417" y="300">
|
|
submap4
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="417" y="332">
|
|
submap5
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="417" y="364">
|
|
submap6
|
|
</text>
|
|
</g>
|
|
<g>
|
|
<text x="417" y="396">
|
|
submap7
|
|
</text>
|
|
</g>
|
|
</svg>
|