dictFingerprint() fingerprinting made more robust.
dictFingerprint() fingerprinting made more robust.

The previous hashing used the trivial algorithm of xoring the integers
together. This is not optimal as it is very likely that different
hash table setups will hash the same, for instance an hash table at the
start of the rehashing process, and at the end, will have the same
fingerprint.

Now we hash N integers in a smarter way, by summing every integer to the
previous hash, and taking the integer hashing again (see the code for
further details). This way it is a lot less likely that we get a
collision. Moreover this way of hashing explicitly protects from the
same set of integers in a different order to hash to the same number.

This commit is related to issue #1240.

ttuna/msot-redis,izhoujie/redis,jxwr/redis,taoguan/redis,huyuezheng/redis,buobao/redis-3.0-annotated,badboy/redis,drinkthere/redis-3.0-annotated,louisliangjun/redis,ituncle/redis,xujunhai1991/redis,josiahcarlson/redis,wangyikai/redis,shreesundara/redis,Markgorden/redis,ksarch-saas/redis,ipmobiletech/redis,dreamquster/redis,huangz1990/experiment-redis,valdsJohn/redis,JoeWoo/redis,hedisdb/hedis,StevenTsai/redis,fengshao0907/redis-3.0-annotated,holstvoogd/redis,gaoxianglong/redis,jbochi/redis,MSOpenTech/redis,saisai/redis,allengaller/redis,ton31337/redis,allengaller/redis,janekmi/redis,wprice/redis,dreamquster/redis,ituncle/redis,RepmujNetsik/redis,0x55/redis-3.0-annotated,ReadCode/redis-3.0-annotated,Aaron1992/redis,qiyang0221/redis,HunanTV/redis,SyntaxStacks/redis,tjschuck/redis,jingjidejuren/redis,sunlianqiang/redis-3.0-annotated,ksarch-saas/redis,ytjiang/redis,riyan8250/redis,abhiklodh/redis,timothyohare/3rdPartySrc-redis,clamoriniere1A/redis,AALEKH/redis,mumingv/redis-3.0-annotated,jxwr/redis,ttuna/msot-redis,yybirdcf/learn-redis,rogerchina/redis,GitHubMota/redis,splitice/redis,healerkx/redis,miaoyc1989/redis-3.0-annotated,tjschuck/redis,ncopa/redis,xuguruogu/redis,thomasdarimont/redis,colstrom/redis,atreeyang/redis,ctripcorp/redis,wprice/redis,zhcy/redis,splitice/redis,Aliceljm1/redis,mumingv/redis-3.0-annotated,xuguruogu/redis,ofirluzon/redis,Hailei/redis,soveran/redis,riyan8250/redis,jingjidejuren/redis,adamweixuan/redis-3.0-annotated,SyntaxStacks/redis,z-fork/redis,PradheepShrinivasan/redis,cnbin/redis,dayuoba/redis,RepmujNetsik/redis,oranagra/redis,gechong/redis-3.0-annotated,simplestbest/redis,GrimDerp/redis,MasahikoSawada/redis,seppo0010/redis,antirez/redis,mingyaaaa/redis,linfangrong/redis,janekmi/redis,moonbingbing/redis-3.0-annotated,ErikDubbelboer/redis,josiahcarlson/redis,supasate/redis,MasahikoSawada/redis,zhcy/redis,SummonY/redis,xuguruogu/redis,GitHubMota/redis,seandsky/redis,CodeJuan/redis,jasonkying/redis,AplayER/redis,badboy/redis,hornen/redis,miaoyc1989/redis-3.0-annotated,ramonsnir/redis,davidradunz/redis,netroby/redis,MOON-CLJ/redis,mverrilli/redis,neomantra/redis,july2993/redis,YongMan/redis,ctripcorp/redis,gongice/redis-3.0-annotated,JoeWoo/redis,HunanTV/redis,haima-zju/redis-3.0-annotated,francischan714/redis,z-fork/redis,gongice/redis-3.0-annotated,yossigo/redis,programmecat/redis,splitice/redis,HouKangkang/redis-3.0-annotated,davidradunz/redis,rogerlz/redis,qiyang0221/redis,valdsJohn/redis,zguangyu/redis,soloestoy/redis,jackyan/redis,yuzhangjob/redis-3.0-annotated-unstable,j0hnma/hszredis,izhoujie/redis,slfs007/mk-redis,arijitvt/redis,universsky/redis,shshlzh/redis-3.0-annotated,mcanthony/redis,mingyaaaa/redis,gilala/hbjredis,flashbuckets/redis,190235047/redis,seppo0010/redis,honestme/redis,GrimDerp/redis,supasate/redis,z-fork/redis,xuzhezhaozhao/redis_reading,mingyaaaa/redis,Markgorden/redis,twskipper/redis,darksideofthemoo/redis-histogram,citusdata/redis,190235047/redis,yuhc/redis-benchmark-enhanced,ksarch-saas/redis,0x55/redis-3.0-annotated,j0hnma/szredis,duanx/redis,louisliangjun/redis,HunanTV/redis,mengyou0304/redis,neomantra/redis,WorkingOfTimtohyZhang/redis-3.0-annotated,LongXQ/redis,francischan714/redis,gilala/redis,citusdata/redis,tjschuck/redis,MasahikoSawada/redis,riyan8250/redis,dayuoba/redis,dayuoba/redis,kmiku7/redis,Soledad89/redis,elkingtonmcb/redis,atreeyang/redis,darksideofthemoo/redis-histogram,MasahikoSawada/redis,j0hnma/szredis,yossigo/redis,darksideofthemoo/redis-histogram,whille/redis-3.0-annotated,shining-yang/redis,PradheepShrinivasan/redis,sunheehnus/redis,fengshao0907/redis,kaushik94/redis,gilala/hbjredis,rrsean/redis-3.0-annotated,ketor/redis,MSOpenTech/redis,fankeke/redis-3.0-annotated,brg-liuwei/redis,xuguruogu/redis,july2993/redis,jbochi/redis,pmem/redis,shining-yang/redis,mengzhejin/RedisStudy,rrsean/redis-3.0-annotated,wbailey5/redis,rogerchina/redis,seppo0010/rlite-server,pmem/redis,miaoyc1989/redis-3.0-annotated,wbailey5/redis,pmem/redis,wuyu201321060203/redis-3.0-annotated,fankeke/redis-3.0-annotated,modulexcite/redis,mattsta/redis,zguangyu/redis,hawkchch/redis,j0hnma/hszredis,july2993/redis,pedigree/redis,blackmady/redis,mverrilli/redis,fengshao0907/redis-3.0-annotated,Aliceljm1/redis,hgl888/redis,mattsta/redis,kaushik94/redis,AALEKH/redis,Markgorden/redis,francischan714/redis,zhiliaoniu/redis,rouzier/redis,wuyu201321060203/redis-3.0-annotated,mumingv/redis-3.0-annotated,fengshao0907/redis,Aaron1992/redis,yybirdcf/learn-redis,itugs/redis,dreamquster/redis,Markgorden/redis,zy416548283/redis-3.0-annotated,YongMan/redis,rogerlz/redis,OmarQunsul/graph-redis,Sciumo/redis,mengzhejin/RedisStudy,ouyangkongtong/redis,oranagra/redis,vincent-vivian-liu/redis,huangz1990/experiment-redis,narma/redis,YuraLukashik/redis,supasate/redis,jasonkying/redis,rouzier/redis,HeartSaVioR/redis,cusspvz/redis,RepmujNetsik/redis,LongXQ/redis,universsky/redis,holstvoogd/redis,wprice/redis,yuhc/redis-benchmark-enhanced,wuyu201321060203/redis-3.0-annotated,cloudrain21/redis,guker/redis,flashbuckets/redis,MSOpenTech/redis,CodeJuan/redis,izhoujie/redis,zczhuohuo/redis,jacklee0810/redis-3.0-annotated,Soledad89/redis,jacklee0810/redis-3.0-annotated,gilala/bjredis,simplestbest/redis,YuanZhewei/redis,seppo0010/rlite-server,gaoxianglong/redis,PKRoma/redis,janekmi/redis,zy416548283/redis-3.0-annotated,hgl888/redis,devaos/redis,YuraLukashik/redis,cnbin/redis,mgk/redis,csuhawk/redis,yuzhangjob/redis-3.0-annotated-unstable,harrisonfeng/redis,mumingv/redis,Aaron1992/redis,huangz1990/experiment-redis,ipmobiletech/redis,zczhuohuo/redis,soveran/redis,itamarhaber/redis,shreesundara/redis,antirez/redis,aim-for-better/redis,SyntaxStacks/redis,qiyang0221/redis,kaushik94/redis,elkingtonmcb/redis,jbochi/parallel_redis,Aliceljm1/redis-3.0-annotated,nnog/redis,slfs007/mk-redis,kensou97/redis,taoguan/redis,tzq668766/redis-3.0-annotated,itamarhaber/redis,healerkx/redis,MOON-CLJ/redis,takeshineshiro/redis,kmiku7/redis,yybirdcf/learn-redis,Aaron1992/redis,brg-liuwei/redis,rouzier/redis,wbailey5/redis,roth1002/redis,ramonsnir/redis,hornen/redis,h0x91b/redis,gechong/redis-3.0-annotated,Hailei/redis,gilala/bjredis,alenslan/redis,Soledad89/redis,citusdata/redis,rogerchina/redis,rouzier/redis,ncopa/redis,hgl888/redis,j0hnma/hszredis,wujf/redis,ituncle/redis,huangz1990/redis-3.0-annotated,ketor/redis,zhcy/redis,dongqifan2/redis-3.0-annotated,universsky/redis,clamoriniere1A/redis,linfangrong/redis,OmarQunsul/graph-redis,0x55/redis-3.0-annotated,arijitvt/redis,gilala/hredis,davidradunz/redis,zhoudayang/redis,4396/redis,brg-liuwei/redis,zhiliaoniu/redis,shreesundara/redis,nilyang/redis-tdd-annotation,seandsky/redis,hawkchch/redis,mgk/redis,nnog/redis,wprice/redis,ipmobiletech/redis,july2993/redis,gilala/hbjredis,Wangyao14cyy/redis,soloestoy/redis,wbailey5/redis,hedisdb/hedis,itamarhaber/redis,jackyan/redis,spearhead-ea/redis,thomasdarimont/redis,YuraLukashik/redis,huangz1990/redis-3.0-annotated,elkingtonmcb/redis,wujf/redis,seppo0010/rlite-server,whille/redis-3.0-annotated,pcarrier/redis,SummonY/redis,AALEKH/redis,vincent-vivian-liu/redis,atreeyang/redis,duanx/redis,spinlock/redis,wenxueliu/redis_comment,xujunhai1991/redis,wenxueliu/redis_comment,xuzhezhaozhao/redis_reading,twskipper/redis,jxwr/redis,modulexcite/redis,AplayER/redis,YuraLukashik/redis,itugs/redis,linfangrong/redis,AplayER/redis,guker/redis,a-pavlov/redis,tanghaodong25/redis,roth1002/redis,mengzhejin/RedisStudy,Wangyao14cyy/redis,narma/redis,HouKangkang/redis-3.0-annotated,wangyikai/redis,pcarrier/redis,cnbin/redis,twskipper/redis,hedisdb/hedis,huangz1990/experiment-redis,zhoudayang/redis,healerkx/redis,190235047/redis,fengshao0907/redis,honestme/redis,tjschuck/redis,harrisonfeng/redis,zguangyu/redis,pmem/redis,seppo0010/redis,xlzhan/redis,cnbin/redis,devaos/redis,cloudrain21/redis,MSOpenTech/redis,soveran/redis,Aliceljm1/redis-3.0-annotated,nilyang/redis-tdd-annotation,z-fork/redis,cloudrain21/redis,louisliangjun/redis,taoguan/redis,spinlock/redis,yuhc/redis-benchmark-enhanced,healerkx/redis,alenslan/redis,oranagra/redis,gilala/hredis,honestme/redis,harrisonfeng/redis,zguangyu/redis,antirez/redis,itugs/redis,WorkingOfTimtohyZhang/redis-3.0-annotated,ncopa/redis,charsyam/redis,ouyangkongtong/redis,mumingv/redis,programmecat/redis,kensou97/redis,abhiklodh/redis,tanghaodong25/redis,antirez/redis,universsky/redis,zhaobo1023/redis-3.0-annotated,kmiku7/redis,modulexcite/redis,GrimDerp/redis,PKRoma/redis,ketor/redis,huyuezheng/redis,cloudrain21/redis,guker/redis,mattsta/redis,PKRoma/redis,LongXQ/redis,spearhead-ea/redis,ramonsnir/redis,csuhawk/redis,iandyh/redis,csuhawk/redis,huyuezheng/redis,YuanZhewei/redis,YongMan/redis,saisai/redis,hornen/redis,GitHubMota/redis,ReadCode/redis-3.0-annotated,thomasdarimont/redis,4396/redis,wuyu201321060203/redis-3.0-annotated,tellapart/redis,NBSW/redis,dreamquster/redis,YuanZhewei/redis,takeshineshiro/redis,shshlzh/redis-3.0-annotated,PKRoma/redis,netroby/redis,unasm/redis-3.0-annotated,louisliangjun/redis,mgk/redis,fengshao0907/redis-3.0-annotated,unasm/redis-3.0-annotated,abhiklodh/redis,CodeJuan/redis,takeshineshiro/redis,idning/redis,cusspvz/redis,allengaller/redis,charsyam/redis,blackmady/redis,nuxeh/redis,honestme/redis,AALEKH/redis,pkdevbox/redis,netroby/redis,spinlock/redis,tanghaodong25/redis,PKRoma/redis,rogerlz/redis,zhiliaoniu/redis,rogerchina/redis,Sciumo/redis,duanx/redis,jacklee0810/redis-3.0-annotated,ncopa/redis,a-pavlov/redis,zhaobo1023/redis-3.0-annotated,xlzhan/redis,onlymellb/redis-3.0-annotated,pedigree/redis,tellapart/redis,moonbingbing/redis-3.0-annotated,clamoriniere1A/redis,josiahcarlson/redis,sunheehnus/redis,ytjiang/redis,haima-zju/redis-3.0-annotated,OmarQunsul/graph-redis,miaoyc1989/redis-3.0-annotated,neomantra/redis,mengzhejin/RedisStudy,nuxeh/redis,mcanthony/redis,wujf/redis,pkdevbox/redis,shshlzh/redis-3.0-annotated,himoca/redis,himoca/redis,iandyh/redis,SummonY/redis,atreeyang/redis,Aliceljm1/redis,LongXQ/redis,4396/redis,JoeWoo/redis,a-pavlov/redis,nilyang/redis-tdd-annotation,zhiliaoniu/redis,magastzheng/redis-3.0-annotated,xujunhai1991/redis,fengshao0907/redis,tellapart/redis,hawkchch/redis,weizijun/redis,onlymellb/redis-3.0-annotated,josiahcarlson/redis,j0hnma/szredis,tzq668766/redis-3.0-annotated,wenxueliu/redis_comment,wangyikai/redis,sunlianqiang/redis-3.0-annotated,magastzheng/redis-3.0-annotated,blackmady/redis,AplayER/redis,gongice/redis-3.0-annotated,pkdevbox/redis,riyan8250/redis,zhoudayang/redis,twskipper/redis,haima-zju/redis-3.0-annotated,alenslan/redis,ton31337/redis,mengyou0304/redis,PradheepShrinivasan/redis,iandyh/redis,weizijun/redis,tzq668766/redis-3.0-annotated,supasate/redis,gilala/hbjredis,pedigree/redis,dongqifan2/redis-3.0-annotated,jasonkying/redis,himoca/redis,neomantra/redis,wenxueliu/redis_comment,vincent-vivian-liu/redis,sunheehnus/redis,wujf/redis,ituncle/redis,PradheepShrinivasan/redis,drinkthere/redis-3.0-annotated,neomantra/redis,tanghaodong25/redis,GrimDerp/redis,gaoxianglong/redis,ReadCode/redis-3.0-annotated,blackmady/redis,mumingv/redis,j0hnma/szredis,jackyan/redis,buobao/redis-3.0-annotated,HeartSaVioR/redis,wangyikai/redis,ofirluzon/redis,elkingtonmcb/redis,h0x91b/redis,huyuezheng/redis,seppo0010/rlite-server,zczhuohuo/redis,gilala/bjredis,weizijun/redis,ouyangkongtong/redis,saisai/redis,takeshineshiro/redis,janekmi/redis,kensou97/redis,CodeJuan/redis,Hailei/redis,roth1002/redis,hedisdb/hedis,WorkingOfTimtohyZhang/redis-3.0-annotated,msn217/redis-3.0-annotated,h0x91b/redis,ton31337/redis,gilala/hredis,davidradunz/redis,soveran/redis,vincent-vivian-liu/redis,narma/redis,gilala/redis,idning/redis,flashbuckets/redis,rrsean/redis-3.0-annotated,nuxeh/redis,jbochi/parallel_redis,YuanZhewei/redis,colstrom/redis,harrisonfeng/redis,guker/redis,ytjiang/redis,saisai/redis,ksarch-saas/redis,SyntaxStacks/redis,arijitvt/redis,modulexcite/redis,zy416548283/redis-3.0-annotated,ofirluzon/redis,pcarrier/redis,Sciumo/redis,mingyaaaa/redis,nnog/redis,hawkchch/redis,huangz1990/redis-3.0-annotated,ErikDubbelboer/redis,Sciumo/redis,aim-for-better/redis,jingjidejuren/redis,aim-for-better/redis,brg-liuwei/redis,nuxeh/redis,HeartSaVioR/redis,oranagra/redis,zczhuohuo/redis,ttuna/msot-redis,holstvoogd/redis,dayuoba/redis,ton31337/redis,SummonY/redis,devaos/redis,seandsky/redis,yossigo/redis,shreesundara/redis,pcarrier/redis,StevenTsai/redis,clamoriniere1A/redis,a-pavlov/redis,MOON-CLJ/redis,ctripcorp/redis,idning/redis,mumingv/redis,simplestbest/redis,adamweixuan/redis-3.0-annotated,jackyan/redis,idning/redis,HouKangkang/redis-3.0-annotated,unasm/redis-3.0-annotated,maodeyi/redis_lua,linfangrong/redis,valdsJohn/redis,magastzheng/redis-3.0-annotated,weizijun/redis,oranagra/redis,arijitvt/redis,programmecat/redis,mcanthony/redis,francischan714/redis,HunanTV/redis,buobao/redis-3.0-annotated,Aliceljm1/redis,mengyou0304/redis,charsyam/redis,programmecat/redis,Wangyao14cyy/redis,xlzhan/redis,gechong/redis-3.0-annotated,msn217/redis-3.0-annotated,citusdata/redis,shining-yang/redis,HeartSaVioR/redis,ofirluzon/redis,jbochi/redis,darksideofthemoo/redis-histogram,adamweixuan/redis-3.0-annotated,xuzhezhaozhao/redis_reading,zhcy/redis,csuhawk/redis,NBSW/redis,timothyohare/3rdPartySrc-redis,mgk/redis,duanx/redis,valdsJohn/redis,yybirdcf/learn-redis,yossigo/redis,OmarQunsul/graph-redis,charsyam/redis,aim-for-better/redis,yuzhangjob/redis-3.0-annotated-unstable,zhoudayang/redis,gilala/redis,drinkthere/redis-3.0-annotated,cusspvz/redis,taoguan/redis,moonbingbing/redis-3.0-annotated,190235047/redis,tellapart/redis,flashbuckets/redis,jasonkying/redis,4396/redis,hgl888/redis,mverrilli/redis,simplestbest/redis,StevenTsai/redis,ttuna/msot-redis,spinlock/redis,yossigo/redis,sunheehnus/redis,devaos/redis,msn217/redis-3.0-annotated,cusspvz/redis,jbochi/parallel_redis,kensou97/redis,ErikDubbelboer/redis,yuhc/redis-benchmark-enhanced,JoeWoo/redis,gilala/hredis,0x55/redis-3.0-annotated,maodeyi/redis_lua,allengaller/redis,ipmobiletech/redis,shining-yang/redis,xuzhezhaozhao/redis_reading,pedigree/redis,soloestoy/redis,kaushik94/redis,nilyang/redis-tdd-annotation,zhaobo1023/redis-3.0-annotated,soloestoy/redis,Aliceljm1/redis-3.0-annotated,roth1002/redis,soloestoy/redis,h0x91b/redis,j0hnma/hszredis,fankeke/redis-3.0-annotated,gaoxianglong/redis,sunlianqiang/redis-3.0-annotated,xujunhai1991/redis,itamarhaber/redis,itugs/redis,ouyangkongtong/redis,spearhead-ea/redis,slfs007/mk-redis,ttuna/msot-redis,colstrom/redis,charsyam/redis,StevenTsai/redis,ofirluzon/redis,jingjidejuren/redis,ErikDubbelboer/redis,abhiklodh/redis,seppo0010/redis,mverrilli/redis,NBSW/redis,pkdevbox/redis,colstrom/redis,xlzhan/redis,timothyohare/3rdPartySrc-redis,RepmujNetsik/redis,badboy/redis,gilala/bjredis,NBSW/redis,badboy/redis,qiyang0221/redis,MSOpenTech/redis,gilala/redis,izhoujie/redis,rogerlz/redis,Hailei/redis,shshlzh/redis-3.0-annotated,GitHubMota/redis,Wangyao14cyy/redis,ytjiang/redis,Soledad89/redis,alenslan/redis,holstvoogd/redis,maodeyi/redis_lua,nnog/redis,netroby/redis,kmiku7/redis,thomasdarimont/redis,splitice/redis,seandsky/redis,iandyh/redis,dongqifan2/redis-3.0-annotated,mcanthony/redis,onlymellb/redis-3.0-annotated,hornen/redis,ctripcorp/redis,timothyohare/3rdPartySrc-redis,whille/redis-3.0-annotated,YongMan/redis,mengyou0304/redis