42nd-at-threadmill:SIMD加速的并发哈希表

时间:2024-04-15 07:43:12
【文件属性】:

文件名称:42nd-at-threadmill:SIMD加速的并发哈希表

文件大小:77KB

文件格式:ZIP

更新时间:2024-04-15 07:43:12

simd lock-free-hashtable CommonLisp

快速并发哈希表。 Threadmill上的42nd是一个基于Cliff Click的NonBlockingHashMap和flat_hash_map的flat_hash_map的非阻塞哈希表。 我们使用前者的一般布局,以及后者的基于元数据的快速探测技巧。 有关这两个表的介绍,请参见和。 我们使用SSE2内部函数进行快速探测,还可以选择使用AVX2进行更快的字节广播。 该库需要SBCL 2.0.5之后的版本,因此我们可以在那时使用一些介绍给汇编器的指令。 基准图片 与Click表格的差异 我们用一个+copied+标记而不是Prime类的实例替换复制的值。 此更改在复制时产生较少的垃圾,并导致屏障代码稍微快一些。 我们还删除了状态,删除了返回到的过渡; 表面上的变化,似乎不会影响任何事情。 与Kulukundis桌子的区别 由于Cl


【文件预览】:
42nd-at-threadmill-master
----Examples()
--------phony-redis.lisp(2KB)
----Documentation()
--------hash-table-design.aux(2KB)
--------long-threadmill.svg(6KB)
--------performance.png(48KB)
--------hash-table-design.tex(13KB)
--------threadmill.png(3KB)
--------threadmill.svg(3KB)
----LICENSE(1KB)
----README.md(2KB)
----Code()
--------package.lisp(450B)
--------resize.lisp(8KB)
--------storage-vector.lisp(2KB)
--------hash-table.lisp(14KB)
--------counter.lisp(1KB)
--------42nd-at-threadmill.asd(1KB)
--------hash-table-defstruct.lisp(1KB)
--------diagnostics.lisp(1KB)
--------x86-64()
----.gitignore(48B)

网友评论