mirror of
https://github.com/greg7mdp/parallel-hashmap.git
synced 2026-08-29 16:40:39 +08:00
wip
This commit is contained in:
Vendored
+66
-66
@@ -1,4 +1,4 @@
|
||||
<svg class="bob" font-family="arial" font-size="14" height="416" width="616" xmlns="http://www.w3.org/2000/svg">
|
||||
<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"/>
|
||||
@@ -56,140 +56,140 @@
|
||||
}
|
||||
|
||||
</style>
|
||||
<rect fill="white" height="416" width="616" x="0" y="0"/>
|
||||
<rect fill="white" height="464" width="640" x="0" y="0"/>
|
||||
<g>
|
||||
<line x1="28" x2="28" y1="104" y2="136"/>
|
||||
<line x1="28" x2="100" y1="104" y2="104"/>
|
||||
<line x1="28" x2="108" y1="136" y2="136"/>
|
||||
<line x1="100" x2="212" y1="104" y2="104"/>
|
||||
<line marker-end="url(#triangle)" x1="108" x2="108" y1="136" y2="188"/>
|
||||
<line x1="108" x2="212" y1="136" y2="136"/>
|
||||
<line x1="212" x2="212" y1="104" y2="136"/>
|
||||
<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="44" x2="44" y1="8" y2="40"/>
|
||||
<line x1="44" x2="172" y1="8" y2="8"/>
|
||||
<line x1="44" x2="100" y1="40" y2="40"/>
|
||||
<line x1="100" x2="172" y1="40" y2="40"/>
|
||||
<line x1="172" x2="172" y1="8" y2="40"/>
|
||||
<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="68" x2="68" y1="200" y2="232"/>
|
||||
<line x1="68" x2="108" y1="200" y2="200"/>
|
||||
<line x1="68" x2="108" y1="232" y2="232"/>
|
||||
<line x1="108" x2="148" y1="200" y2="200"/>
|
||||
<line x1="108" x2="108" y1="232" y2="280"/>
|
||||
<line x1="108" x2="148" y1="232" y2="232"/>
|
||||
<line marker-end="url(#triangle)" x1="108" x2="364" y1="280" y2="280"/>
|
||||
<line x1="148" x2="148" y1="200" y2="232"/>
|
||||
<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="108" x2="108" y1="48" y2="92"/>
|
||||
<line marker-end="url(#triangle)" x1="132" x2="132" y1="96" y2="140"/>
|
||||
</g>
|
||||
<g>
|
||||
<line x1="372" x2="372" y1="104" y2="136"/>
|
||||
<line x1="372" x2="508" y1="104" y2="104"/>
|
||||
<line x1="372" x2="372" y1="136" y2="168"/>
|
||||
<line x1="372" x2="508" y1="136" y2="136"/>
|
||||
<line x1="372" x2="372" y1="168" y2="200"/>
|
||||
<line x1="372" x2="508" y1="168" y2="168"/>
|
||||
<line x1="372" x2="372" y1="200" y2="232"/>
|
||||
<line x1="372" x2="508" y1="200" y2="200"/>
|
||||
<line x1="372" x2="372" y1="232" y2="264"/>
|
||||
<line x1="372" x2="508" y1="232" y2="232"/>
|
||||
<line x1="372" x2="372" y1="264" y2="296"/>
|
||||
<line x1="372" x2="508" y1="264" y2="264"/>
|
||||
<line x1="372" x2="372" y1="296" y2="328"/>
|
||||
<line x1="372" x2="508" y1="296" y2="296"/>
|
||||
<line x1="372" x2="372" y1="328" y2="360"/>
|
||||
<line x1="372" x2="508" y1="328" y2="328"/>
|
||||
<line x1="372" x2="508" y1="360" y2="360"/>
|
||||
<line x1="508" x2="508" y1="104" y2="136"/>
|
||||
<line x1="508" x2="508" y1="136" y2="168"/>
|
||||
<line x1="508" x2="508" y1="168" y2="200"/>
|
||||
<line x1="508" x2="508" y1="200" y2="232"/>
|
||||
<line x1="508" x2="508" y1="232" y2="264"/>
|
||||
<line x1="508" x2="508" y1="264" y2="296"/>
|
||||
<line x1="508" x2="508" y1="296" y2="328"/>
|
||||
<line x1="508" x2="508" y1="328" y2="360"/>
|
||||
<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="33" y="396">
|
||||
<text x="57" y="444">
|
||||
parallel_hash_map with 8 submaps, each submap is an absl::flat_hash_map
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="41" y="124">
|
||||
<text x="65" y="172">
|
||||
h=0x7d84ea13707f4657
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="57" y="28">
|
||||
(Key, Value)
|
||||
<text x="73" y="76">
|
||||
(keyi, valuei)
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="73" y="220">
|
||||
<text x="97" y="268">
|
||||
idx = 5
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="121" y="172">
|
||||
<text x="145" y="220">
|
||||
(h ^ (h >> 3)) & 0x7
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="129" y="76">
|
||||
hasher
|
||||
<text x="153" y="124">
|
||||
hasher(keyi)
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="377" y="76">
|
||||
<text x="401" y="124">
|
||||
Parallel Hash Map
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="377" y="92">
|
||||
<text x="401" y="140">
|
||||
(with 8 submaps)
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="393" y="124">
|
||||
<text x="417" y="172">
|
||||
submap0
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="393" y="156">
|
||||
<text x="417" y="204">
|
||||
submap1
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="393" y="188">
|
||||
<text x="417" y="236">
|
||||
submap2
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="393" y="220">
|
||||
<text x="417" y="268">
|
||||
submap3
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="393" y="252">
|
||||
<text x="417" y="300">
|
||||
submap4
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="393" y="284">
|
||||
<text x="417" y="332">
|
||||
submap5
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="393" y="316">
|
||||
<text x="417" y="364">
|
||||
submap6
|
||||
</text>
|
||||
</g>
|
||||
<g>
|
||||
<text x="393" y="348">
|
||||
<text x="417" y="396">
|
||||
submap7
|
||||
</text>
|
||||
</g>
|
||||
|
||||
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
Vendored
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 16 KiB |
Reference in New Issue
Block a user