这个列表由我写的一个 perl 程序抓取 time_hash_map 的结果生成。time_hash_map 是 google 自己实现的 hash table 中的一个性能测试程序,我在其中加入了针对 gold_hash_map 的测试,没有其它任何改动。链接中那个性能测试是 gold_hash_map 优化之前的测试结果(已经超越其它 map 了)。
operation(byte=4)
|
gold_hash_map
|
DENSE_HASH_MAP
|
SPARSE_HASH_MAP
|
STANDARD HASH_MAP
|
STANDARD MAP
|
time:fetch_empty
|
54.5
|
70
|
865.5
|
234
|
187
|
copy:fetch_empty
|
0
|
35
|
1
|
0
|
0
|
hash:fetch_empty
|
2000000
|
0
|
0
|
2000000
|
0
|
time:fetch_random
|
171.5
|
257.5
|
1217
|
366.5
|
741
|
copy:fetch_random
|
4000000
|
18485851
|
11355478
|
4000000
|
4000000
|
hash:fetch_random
|
4000000
|
6097153
|
7355426
|
7198374
|
0
|
time:fetch_sequential
|
140.5
|
265
|
1232
|
327.5
|
686.5
|
copy:fetch_sequential
|
4000000
|
18485851
|
11355478
|
4000000
|
4000000
|
hash:fetch_sequential
|
4000000
|
6097153
|
7355426
|
7198374
|
0
|
time:grow
|
327.5
|
702
|
3112
|
1981
|
1310.5
|
copy:grow
|
4000000
|
18485851
|
11355478
|
4000000
|
4000000
|
hash:grow
|
2000000
|
4097153
|
5355426
|
5198374
|
0
|
time:predict/grow
|
312
|
304
|
1201.5
|
1973.5
|
1349.5
|
copy:predict/grow
|
4000000
|
12194347
|
8000005
|
4000000
|
4000000
|
hash:predict/grow
|
2000000
|
2000000
|
2000000
|
5198374
|
0
|
time:remove
|
226.5
|
358.5
|
1490
|
2886
|
1474
|
copy:remove
|
4000000
|
20485851
|
13355478
|
4000000
|
4000000
|
hash:remove
|
4000000
|
6097153
|
7355426
|
9198373
|
0
|
time:replace
|
164
|
210.5
|
499.5
|
327.5
|
639.5
|
copy:replace
|
6000000
|
18485851
|
11355478
|
4000000
|
4000000
|
hash:replace
|
4000000
|
6097153
|
7355426
|
7198374
|
0
|
time:toggle
|
218
|
827
|
2816
|
2675.5
|
827
|
copy:toggle
|
4000000
|
14999435
|
10319829
|
4000000
|
4000000
|
hash:toggle
|
4000000
|
4124985
|
4079957
|
6000000
|
0
|
ztress:1024:1
|
126.1
|
2247.3
|
3964.3
|
1156.7
|
ztress:1024:1024
|
156.1
|
2685.5
|
8116.7
|
33527.3
|
ztress:256:1
|
188
|
1156.1
|
2528.2
|
1124.1
|
ztress:256:256
|
156
|
840.1
|
2746.2
|
9078.6
|
operation(byte=8)
|
gold_hash_map
|
DENSE_HASH_MAP
|
SPARSE_HASH_MAP
|
STANDARD HASH_MAP
|
STANDARD MAP
|
time:fetch_empty
|
94
|
78
|
936
|
265
|
203
|
copy:fetch_empty
|
0
|
35
|
1
|
0
|
0
|
hash:fetch_empty
|
1000000
|
0
|
0
|
1000000
|
0
|
time:fetch_random
|
188
|
281
|
1310
|
562
|
764
|
copy:fetch_random
|
2000000
|
9242963
|
5677753
|
2000000
|
2000000
|
hash:fetch_random
|
2000000
|
3048576
|
3677704
|
3149797
|
0
|
time:fetch_sequential
|
171
|
281
|
1248
|
452
|
655
|
copy:fetch_sequential
|
2000000
|
9242963
|
5677753
|
2000000
|
2000000
|
hash:fetch_sequential
|
2000000
|
3048576
|
3677704
|
3149797
|
0
|
time:grow
|
359
|
874
|
3120
|
1404
|
1310
|
copy:grow
|
2000000
|
9242963
|
5677753
|
2000000
|
2000000
|
hash:grow
|
1000000
|
2048576
|
2677704
|
2149797
|
0
|
time:predict/grow
|
327
|
359
|
1248
|
1451
|
1310
|
copy:predict/grow
|
2000000
|
6097195
|
4000005
|
2000000
|
2000000
|
hash:predict/grow
|
1000000
|
1000000
|
1000000
|
2149797
|
0
|
time:remove
|
234
|
406
|
1591
|
1279
|
1435
|
copy:remove
|
2000000
|
10242963
|
6677753
|
2000000
|
2000000
|
hash:remove
|
2000000
|
3048576
|
3677704
|
4149796
|
0
|
time:replace
|
203
|
234
|
499
|
452
|
608
|
copy:replace
|
3000000
|
9242963
|
5677753
|
2000000
|
2000000
|
hash:replace
|
2000000
|
3048576
|
3677704
|
3149797
|
0
|
time:toggle
|
265
|
967
|
3011
|
2761
|
889
|
copy:toggle
|
2000000
|
7497755
|
5159741
|
2000000
|
2000000
|
hash:toggle
|
2000000
|
2062443
|
2039935
|
3000000
|
0
|
ztress:1024:1
|
124.1
|
2313.3
|
3994.3
|
1184.7
|
ztress:1024:1024
|
188.1
|
2809.6
|
8364.8
|
33779.5
|
ztress:256:1
|
188.1
|
1252.7
|
2557.5
|
1064.6
|
ztress:256:256
|
188.1
|
932.5
|
2873.7
|
9053.2
|
operation(byte=16)
|
gold_hash_map
|
DENSE_HASH_MAP
|
SPARSE_HASH_MAP
|
STANDARD HASH_MAP
|
STANDARD MAP
|
time:fetch_empty
|
124
|
92
|
906
|
282
|
218
|
copy:fetch_empty
|
0
|
35
|
1
|
0
|
0
|
hash:fetch_empty
|
500000
|
0
|
0
|
500000
|
0
|
time:fetch_random
|
218
|
280
|
1280
|
468
|
780
|
copy:fetch_random
|
1000000
|
4621515
|
2838889
|
1000000
|
1000000
|
hash:fetch_random
|
1000000
|
1524287
|
1838843
|
1649797
|
0
|
time:fetch_sequential
|
188
|
312
|
1280
|
404
|
656
|
copy:fetch_sequential
|
1000000
|
4621515
|
2838889
|
1000000
|
1000000
|
hash:fetch_sequential
|
1000000
|
1524287
|
1838843
|
1649797
|
0
|
time:grow
|
406
|
906
|
3308
|
1654
|
1342
|
copy:grow
|
1000000
|
4621515
|
2838889
|
1000000
|
1000000
|
hash:grow
|
500000
|
1024287
|
1338843
|
1149797
|
0
|
time:predict/grow
|
374
|
376
|
1340
|
2028
|
1372
|
copy:predict/grow
|
1000000
|
3048619
|
2000005
|
1000000
|
1000000
|
hash:predict/grow
|
500000
|
500000
|
500000
|
1149797
|
0
|
time:remove
|
250
|
406
|
1496
|
1686
|
1436
|
copy:remove
|
1000000
|
5121515
|
3338889
|
1000000
|
1000000
|
hash:remove
|
1000000
|
1524287
|
1838843
|
2149796
|
0
|
time:replace
|
250
|
248
|
532
|
406
|
562
|
copy:replace
|
1500000
|
4621515
|
2838889
|
1000000
|
1000000
|
hash:replace
|
1000000
|
1524287
|
1838843
|
1649797
|
0
|
time:toggle
|
342
|
1028
|
3026
|
2900
|
936
|
copy:toggle
|
1000000
|
3747115
|
2579433
|
1000000
|
1000000
|
hash:toggle
|
1000000
|
1031177
|
1019858
|
1500000
|
0
|
operation(byte=256)
|
gold_hash_map
|
DENSE_HASH_MAP
|
SPARSE_HASH_MAP
|
STANDARD HASH_MAP
|
STANDARD MAP
|
time:fetch_empty
|
992
|
0
|
1008
|
1248
|
240
|
copy:fetch_empty
|
0
|
35
|
1
|
0
|
0
|
hash:fetch_empty
|
62500
|
0
|
0
|
62500
|
0
|
time:fetch_random
|
992
|
1248
|
2240
|
1488
|
1008
|
copy:fetch_random
|
62500
|
577731
|
354875
|
125000
|
125000
|
hash:fetch_random
|
125000
|
190532
|
229838
|
206224
|
0
|
time:fetch_sequential
|
1248
|
992
|
2496
|
1248
|
752
|
copy:fetch_sequential
|
62500
|
577731
|
354875
|
125000
|
125000
|
hash:fetch_sequential
|
125000
|
190532
|
229838
|
206224
|
0
|
time:grow
|
1504
|
3488
|
7232
|
3744
|
1504
|
copy:grow
|
62500
|
577731
|
354875
|
125000
|
125000
|
hash:grow
|
62500
|
128032
|
167338
|
143724
|
0
|
time:predict/grow
|
1504
|
1488
|
2992
|
3984
|
1504
|
copy:predict/grow
|
62500
|
381115
|
250005
|
125000
|
125000
|
hash:predict/grow
|
62500
|
62500
|
62500
|
143724
|
0
|
time:remove
|
992
|
1248
|
2496
|
3488
|
1760
|
copy:remove
|
62500
|
640231
|
417375
|
125000
|
125000
|
hash:remove
|
125000
|
190532
|
229838
|
268723
|
0
|
time:replace
|
1008
|
992
|
1248
|
1504
|
496
|
copy:replace
|
62500
|
577731
|
354875
|
125000
|
125000
|
hash:replace
|
125000
|
190532
|
229838
|
206224
|
0
|
time:toggle
|
2000
|
3008
|
5744
|
5488
|
992
|
copy:toggle
|
62500
|
466655
|
322033
|
125000
|
125000
|
hash:toggle
|
125000
|
128853
|
127383
|
187500
|
0
|
分享到:
相关推荐
本文将深入探讨一种名为cpp-sparsemap的实现,它是一个高效且轻量级的哈希映射(HashMap)和哈希集合(HashSet)的C++实现,主要由Tessil团队开发,并存储于Tessil-sparse-map-162cc7b版本的代码库中。 cpp-...
《Nginx Upstream Hash模块详解与应用》 在Web服务器领域,Nginx以其高效、轻量级的特性赢得了广泛的应用。为了实现更灵活的负载均衡策略,Nginx提供了一系列的upstream模块,其中,`nginx_upstream_hash`模块是...
《gen_lex_hash_pc:MySQL交叉编译的关键工具详解》 在IT行业中,数据库管理系统是核心组件之一,而MySQL作为开源关系型数据库的代表,广泛应用于各类项目中。在特定环境下,如嵌入式设备或资源有限的PC平台,我们...
**Nginx与url_hash插件** Nginx是一个高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力以及丰富的模块扩展性而闻名。然而,Nginx本身并不内置支持url_hash功能,这是一个用于负载均衡的策略,通过将特定...
在获取到mysql用户的hash后, 可用hash直接登陆mysql进行操作 比如我们注入出数据库的hash,但是没办法拿到webshell 我们可以使用mysql_hash,用hash登陆并控制数据库 使用方法: mysql_hash.exe -u root -p < 1.txt...
在本项目中,"md5_hash.rar_hash_md5_hash" 的标题暗示了这是一个关于C++实现MD5哈希算法的工程。描述中的 "C++ implementation for md5" 进一步确认了这个项目的焦点。标签"hash"和"md5_hash"也与哈希计算相关。 ...
标题 "STATUS_INVALID_IMAGE_HASH.zip" 暗示了一个与操作系统或浏览器有关的错误,特别是针对Chrome和Edge浏览器。这个问题通常涉及到系统中某个可执行文件(DLL或EXE)的哈希值与预期不符,导致安全策略无法验证其...
"Big Data Map hash value of five hundred million U.S. dollars"的描述进一步确认了这一点,它提到了哈希表在大数据环境中的应用,以及其潜在的巨大价值。 哈希表是一种以键值对(Key-Value Pair)形式存储数据的...
"ngx_http_consistent_hash-master.zip" 是一个与 Nginx Web服务器相关的压缩包文件,其中包含了一个名为 "ngx_http_consistent_hash" 的第三方模块的源代码。"master" 指示这可能是该模块的主分支或最新版本。 **...
标题 "UMAT_Hashin3D_hashin" 指涉的是一个专门针对复合材料损伤分析的三维子程序,该程序基于Hashin破坏准则。在有限元分析(FEA)中,用户自定义材料(User-Defined Material,UMAT)是实现特定材料行为建模的一种...
《深入解析nginx_upstream_hash模块:打造高效负载均衡策略》 在互联网服务中,nginx作为一款高性能的HTTP和反向代理服务器,广泛应用于各种复杂的网络架构中。为了满足动态负载均衡的需求,nginx提供了丰富的...
在本文中,我们将深入探讨如何在Nginx服务器上配置URL哈希(url_hash)转发方式,这是一种负载均衡策略,用于将特定的URL请求路由到特定的后端服务器。这种配置适用于需要根据URL保持会话状态的应用场景,比如动态...
《IP Set Hash:ip,port,ip模块详解》 在Linux内核中,IP Set是一种强大的工具,用于管理网络流量过滤和路由策略。它允许系统管理员动态地创建和维护一组IP地址、端口或其他网络标识符的集合,以便进行高效的网络...
在IT领域,散列函数(Hash Function)是一种重要的数据处理技术,它被广泛应用于数据库、信息安全、编程语言设计等多个方面。这里的"标题"——"in_hash.rar_hash取模",结合"描述",指的是利用散列函数进行取模操作...
在IT领域,哈希表(Hash Table)是一种高效的数据结构,用于存储和检索键值对。标题中的"u_hash_table.rar_Table For Two"暗示我们关注的是一个特定的哈希表实现,可能是为处理两个相关对象设计的。描述中的"compare...
标题中的"HASHIN_FAILURE_CRITERIA_hard.rar_UMAT hashin_UMAT_Hashin_hashi" 提到的关键信息是“HASHIN_FAILURE_CRITERIA”和“UMAT”,这表明内容可能涉及材料失效准则和用户自定义材料模型(UMAT)。在有限元分析...
Hash在线解密平台最新版php实现纯txt存储哈希跟明文对应表查询
这个压缩包文件“基于应变和应力的Vumat子程序_hashin失效准则_动态应变_拉伸失效_hashin_vumat.zip”显然包含了与使用Vumat子程序来模拟材料失效,特别是Hashin失效准则相关的资料,以及动态应变和拉伸失效的应用。...
jg :: dense_hash_map 一个简单的std::unordered_map替代品,具有更好的性能,但失去了稳定的寻址方式,这是一种折衷方案。 在此处查看此哈希图的详细说明: : 生成状态: 特拉维斯(Travis):
标题中的"range_size_hash.rar_range"可能是指一个与哈希表和范围大小计算相关的压缩文件。在编程和数据结构领域,哈希表是一种常用的数据结构,用于高效地存储和检索数据,而“range”通常指的是数值或元素的区间。...