现在的位置: 首页 > 综合 > 正文

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

2013年04月25日 ⁄ 综合 ⁄ 共 4565字 ⁄ 字号 评论关闭

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

 

抱歉!评论已关闭.