`
febird
  • 浏览: 256410 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

gold_hash_map vs google sparse map by google's time_hash_map.cc

 
阅读更多

这个列表由我写的一个 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实现

    本文将深入探讨一种名为cpp-sparsemap的实现,它是一个高效且轻量级的哈希映射(HashMap)和哈希集合(HashSet)的C++实现,主要由Tessil团队开发,并存储于Tessil-sparse-map-162cc7b版本的代码库中。 cpp-...

    nginx_upstream_hash-0.3.1.tar.gz

    《Nginx Upstream Hash模块详解与应用》 在Web服务器领域,Nginx以其高效、轻量级的特性赢得了广泛的应用。为了实现更灵活的负载均衡策略,Nginx提供了一系列的upstream模块,其中,`nginx_upstream_hash`模块是...

    gen_lex_hash_pc

    《gen_lex_hash_pc:MySQL交叉编译的关键工具详解》 在IT行业中,数据库管理系统是核心组件之一,而MySQL作为开源关系型数据库的代表,广泛应用于各类项目中。在特定环境下,如嵌入式设备或资源有限的PC平台,我们...

    Nginx安装url_hash插件.doc

    **Nginx与url_hash插件** Nginx是一个高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力以及丰富的模块扩展性而闻名。然而,Nginx本身并不内置支持url_hash功能,这是一个用于负载均衡的策略,通过将特定...

    mysql_hash.exe/使用hash登陆mysql

    在获取到mysql用户的hash后, 可用hash直接登陆mysql进行操作 比如我们注入出数据库的hash,但是没办法拿到webshell 我们可以使用mysql_hash,用hash登陆并控制数据库 使用方法: mysql_hash.exe -u root -p < 1.txt...

    md5_hash.rar_hash_md5_hash

    在本项目中,"md5_hash.rar_hash_md5_hash" 的标题暗示了这是一个关于C++实现MD5哈希算法的工程。描述中的 "C++ implementation for md5" 进一步确认了这个项目的焦点。标签"hash"和"md5_hash"也与哈希计算相关。 ...

    STATUS_INVALID_IMAGE_HASH.zip

    标题 "STATUS_INVALID_IMAGE_HASH.zip" 暗示了一个与操作系统或浏览器有关的错误,特别是针对Chrome和Edge浏览器。这个问题通常涉及到系统中某个可执行文件(DLL或EXE)的哈希值与预期不符,导致安全策略无法验证其...

    pwwHash.zip_Big!_hash map

    "Big Data Map hash value of five hundred million U.S. dollars"的描述进一步确认了这一点,它提到了哈希表在大数据环境中的应用,以及其潜在的巨大价值。 哈希表是一种以键值对(Key-Value Pair)形式存储数据的...

    ngx_http_consistent_hash-master.zip

    "ngx_http_consistent_hash-master.zip" 是一个与 Nginx Web服务器相关的压缩包文件,其中包含了一个名为 "ngx_http_consistent_hash" 的第三方模块的源代码。"master" 指示这可能是该模块的主分支或最新版本。 **...

    UMAT_Hashin3D_hashin

    标题 "UMAT_Hashin3D_hashin" 指涉的是一个专门针对复合材料损伤分析的三维子程序,该程序基于Hashin破坏准则。在有限元分析(FEA)中,用户自定义材料(User-Defined Material,UMAT)是实现特定材料行为建模的一种...

    nginx_upstream_hash-0.3.2.tar.gz

    《深入解析nginx_upstream_hash模块:打造高效负载均衡策略》 在互联网服务中,nginx作为一款高性能的HTTP和反向代理服务器,广泛应用于各种复杂的网络架构中。为了满足动态负载均衡的需求,nginx提供了丰富的...

    Nginx如何配置url_hash转发方式.docx

    在本文中,我们将深入探讨如何在Nginx服务器上配置URL哈希(url_hash)转发方式,这是一种负载均衡策略,用于将特定的URL请求路由到特定的后端服务器。这种配置适用于需要根据URL保持会话状态的应用场景,比如动态...

    ip_set_hash_ipportip.rar_ip hash

    《IP Set Hash:ip,port,ip模块详解》 在Linux内核中,IP Set是一种强大的工具,用于管理网络流量过滤和路由策略。它允许系统管理员动态地创建和维护一组IP地址、端口或其他网络标识符的集合,以便进行高效的网络...

    in_hash.rar_hash取模

    在IT领域,散列函数(Hash Function)是一种重要的数据处理技术,它被广泛应用于数据库、信息安全、编程语言设计等多个方面。这里的"标题"——"in_hash.rar_hash取模",结合"描述",指的是利用散列函数进行取模操作...

    u_hash_table.rar_Table For Two

    在IT领域,哈希表(Hash Table)是一种高效的数据结构,用于存储和检索键值对。标题中的"u_hash_table.rar_Table For Two"暗示我们关注的是一个特定的哈希表实现,可能是为处理两个相关对象设计的。描述中的"compare...

    HASHIN_FAILURE_CRITERIA_hard.rar_UMAT hashin_UMAT_Hashin_hashi

    标题中的"HASHIN_FAILURE_CRITERIA_hard.rar_UMAT hashin_UMAT_Hashin_hashi" 提到的关键信息是“HASHIN_FAILURE_CRITERIA”和“UMAT”,这表明内容可能涉及材料失效准则和用户自定义材料模型(UMAT)。在有限元分析...

    Hash在线解密_Hash在线解密_Hash在线解密平台最新版_hash解密_hash.txt_mysql5在线解密_

    Hash在线解密平台最新版php实现纯txt存储哈希跟明文对应表查询

    基于应变和应力的Vumat子程序_hashin失效准则_动态应变_拉伸失效_hashin_vumat.zip

    这个压缩包文件“基于应变和应力的Vumat子程序_hashin失效准则_动态应变_拉伸失效_hashin_vumat.zip”显然包含了与使用Vumat子程序来模拟材料失效,特别是Hashin失效准则相关的资料,以及动态应变和拉伸失效的应用。...

    dense_hash_map:STD的简单替代

    jg :: dense_hash_map 一个简单的std::unordered_map替代品,具有更好的性能,但失去了稳定的寻址方式,这是一种折衷方案。 在此处查看此哈希图的详细说明: : 生成状态: 特拉维斯(Travis):

    range_size_hash.rar_range

    标题中的"range_size_hash.rar_range"可能是指一个与哈希表和范围大小计算相关的压缩文件。在编程和数据结构领域,哈希表是一种常用的数据结构,用于高效地存储和检索数据,而“range”通常指的是数值或元素的区间。...

Global site tag (gtag.js) - Google Analytics