2012.1.18

 工作内容:

调研并整理Murmurhash算法与Cityhash算法,比较其碰撞率,耗时等性能。

结果如下:

 

测试数据量:13584385

 

 

Murmurhash2

Murmurhash2A

Cityhash

种子长度=40

碰撞率

0.013759

0.0122196

0.0137472

耗时

5.17s

4.31

4.45

种子长度=50

碰撞率

0.0115036

0.00993221

0.0114863

耗时

5.52s

4.63s

4.76s

种子长度=60

碰撞率

0.00977895

0.00823666

0.00980089

耗时

5.86

5.43

4.73

 

 

 

 

 

复杂度:Cityhash大于Murmurhash

种子长度:种子越长,碰撞率越小,耗时越多

综合分析:就长字符串Hash来说,Murmurhash2A较优

 

程序目录:/usr/home/mingyang/MyCodes/HashSolution/

程度接口:见目录中Readme

 

此工作强度与紧度均不大,在此过程中恢复了在Linux下编程能力,也熟悉了VIM,并对Linux与Vim的常用命令也所总结。

本项工作只是涉及了标准C++的编程,所以较为顺手,但若涉及Linux下的多线程与复杂算法的调试就不易恢复或顺利完成了。

所以平常及假期要熟悉线程编程与GDB的调试等能力。

;