Prevent false sharing in signature fetch
Prevent false sharing in signature fetch

The original implementation wrote to different locations in a shared slice.
While this is theoretically okay, we end up thrashing the cpu cache since
multiple slice members may be on the same cache line. So, even though each
thread has its own memory location, there may be contention over the cache
line. This changes the code to aggregate to a slice in a single goroutine.

In reality, this change likely won't have any performance impact. The theory
proposed above hasn't really even been tested. Either way, we can consider it
and possibly go forward.

Signed-off-by: Stephen J Day <63efd86fa22882ae89b6027b22a36e4db1f4214d@docker.com>

rodacom/docker-hub,apuigsech/distribution,zerosign/distribution,13W/distribution,Tiesheng/distribution,anweiss/docker.github.io,championv/distribution,aibaars/distribution,shubheksha/docker.github.io,nateww/distribution,irachex/distribution,13W/distribution,sergeyfd/distribution,sanscontext/docker.github.io,dave-tucker/distribution,n1tr0g/distribution,bdwill/docker.github.io,adambrett-forks/distribution,aprajshekhar/distribution,deis/distribution,docker/docker.github.io,dtromb/distribution,endophage/distribution,denverdino/denverdino.github.io,rillig/docker.github.io,johnstep/docker.github.io,shin-/docker.github.io,BSWANG/denverdino.github.io,konnase/distribution,thaJeztah/docker.github.io,CodeJuan/distribution,RyanDeng/distribution,ibuildthecloud/distribution,nateww/distribution,RaviTezu/distribution,jzwlqx/denverdino.github.io,manoj535/distribution,cezarsa/distribution,alexisbellido/docker.github.io,RichardScothern/distribution,djenriquez/distribution,duglin/distribution,jzwlqx/denverdino.github.io,bobphill/distribution,denverdino/docker.github.io,dmp42/distribution,wangmingshuai/distribution,bdwill/docker.github.io,lorieri/distribution,runcom/distribution,denverdino/denverdino.github.io,estesp/distribution,AoJ/distribution,BradleyA/distribution,zhangcoldwater/distribution,genedock/distribution,mattmoor/distribution,menglingwei/denverdino.github.io,curtiszimmerman/distribution,uptownhr/distribution,jramseye/distribution,Seb-Solon/distribution,cyli/distribution,shin-/docker.github.io,rillig/docker.github.io,jlhawn/distribution,xiekeyang/distribution,mbentley/distribution,aduermael/docker.github.io,tdooner/distribution,bsmr-docker/distribution,mattmoor/distribution,docker-zh/docker.github.io,lindenlab/distribution,nevermosby/distribution,denverdino/distribution-fuse,moxiegirl/distribution,thelinuxkid/distribution,orivej/distribution,noxiouz/distribution,dmp42/distribution,ContainerSolutions/distribution,spacexnice/distribution,spacexnice/distribution,sthapaun/distribution,troy0820/docker.github.io,danix800/docker.github.io,irachex/distribution,danix800/docker.github.io,rillig/docker.github.io,gavioto/distribution,thaJeztah/docker.github.io,gavioto/distribution,docker/distribution,schu/distribution,bdwill/docker.github.io,jackpgriffin/distribution,championv/distribution,mikebrow/distribution,denverdino/distribution-stevvooe,alexisbellido/docker.github.io,aybabtme/distribution,kmala/distribution,pdevine/distribution,BrianBland/distribution,konstruktoid/distribution,xiekeyang/distribution,gierschv/distribution,bpradipt/distribution,lebauce/distribution,joeuo/docker.github.io,schu/distribution,londoncalling/docker.github.io,BrickXu/distribution,JimGalasyn/docker.github.io,joaofnfernandes/docker.github.io,shubheksha/docker.github.io,jzwlqx/distribution,thaJeztah/docker.github.io,BrickXu/distribution,jackpgriffin/distribution,shin-/docker.github.io,thaJeztah/docker.github.io,CodeJuan/distribution,troy0820/docker.github.io,shubheksha/docker.github.io,dmcgowan/distribution,dobril-stanga/distribution,GerritForge/docker-registry,zhangcoldwater/distribution,bsmr-docker/distribution,liubin/distribution,aaronlehmann/distribution,JimGalasyn/docker.github.io,lcarstensen/distribution,bpradipt/distribution,sadlil/distribution,kmala/distribution,londoncalling/docker.github.io,beni55/distribution,jonboulle/distribution,bigsurge/distribution,alexisbellido/docker.github.io,denverdino/denverdino.github.io,johnstep/docker.github.io,linearregression/distribution,jwhonce/distribution,jmitchell/distribution,Gobliip/distribution,konstruktoid/distribution,miminar/distribution,menglingwei/denverdino.github.io,RaviTezu/distribution,wangmingshuai/distribution,denverdino/denverdino.github.io,noxiouz/distribution,wking/docker-distribution,jzwlqx/denverdino.github.io,atyenoria/distribution,yuwaMSFT2/distribution,docker-zh/docker.github.io,shyr/distribution,runcom/distribution,nevermosby/distribution,lcarstensen/distribution,alexisbellido/docker.github.io,menglingwei/denverdino.github.io,rillig/docker.github.io,jmitchell/distribution,docker/docker.github.io,curtiszimmerman/distribution,BSWANG/denverdino.github.io,aduermael/docker.github.io,huamai-io/distribution,RyanDeng/distribution,LuisBosquez/docker.github.io,phiroict/docker,qiniu/distribution,shin-/docker.github.io,rbarlow/distribution,danix800/docker.github.io,higebu/distribution,miminar/distribution,endophage/distribution,zhaytee/distribution,GerritForge/docker-registry,beni55/distribution,JimGalasyn/docker.github.io,dmcgowan/distribution,troy0820/docker.github.io,sadlil/distribution,deis/distribution,arneluehrs/distribution,BrianBland/distribution,gorcz/distribution,rochacon/distribution,anweiss/docker.github.io,bobphill/distribution,aprajshekhar/distribution,JimGalasyn/docker.github.io,humble00/distribution,higebu/distribution,bdwill/docker.github.io,hpcloud/distribution,arvindkandhare/distribution,uptownhr/distribution,joaofnfernandes/docker.github.io,shyr/distribution,londoncalling/docker.github.io,denverdino/distribution,joeuo/docker.github.io,gdevillele/docker.github.io,danix800/docker.github.io,convox/distribution,sanscontext/docker.github.io,dalanlan/distribution,aduermael/docker.github.io,moxiegirl/distribution,LouisKottmann/distribution,convox/distribution,harche/distribution,sergeyfd/distribution,sanscontext/docker.github.io,tt/distribution,anweiss/docker.github.io,n1tr0g/distribution,tt/distribution,codefresh-io/cf-distribution,dave-tucker/distribution,bigsurge/distribution,orivej/distribution,thaJeztah/distribution,djenriquez/distribution,sallyom/distribution,mbentley/distribution,tschoots/distribution,BSWANG/denverdino.github.io,atyenoria/distribution,sanscontext/docker.github.io,phiroict/docker,gdevillele/docker.github.io,phiroict/docker,dalanlan/distribution,iskradelta/distribution,joeuo/docker.github.io,nwt/distribution,docker/docker.github.io,AoJ/distribution,gorcz/distribution,denverdino/distribution-stevvooe,jrjang/distribution,sallyom/distribution,dv/distribution,rochacon/distribution,whyrusleeping/distribution,yuwaMSFT2/distribution,gdevillele/docker.github.io,calavera/distribution,jzwlqx/denverdino.github.io,tian-xiaobo/distribution,maquanyi/distribution,jzwlqx/distribution,tschoots/distribution,menglingwei/denverdino.github.io,stevvooe/distribution,hopkings2008/distribution,joaofnfernandes/docker.github.io,zerosign/distribution,LuisBosquez/docker.github.io,anweiss/docker.github.io,docker/distribution,joeuo/docker.github.io,sanscontext/docker.github.io,huamai-io/distribution,denverdino/docker.github.io,shubheksha/docker.github.io,nwt/distribution,gierschv/distribution,paulczar/distribution,cezarsa/distribution,Gobliip/distribution,amitshukla/distribution,ChenLingPeng/distribution,jwhonce/distribution,gdevillele/docker.github.io,rbarlow/distribution,amitshukla/distribution,aduermael/docker.github.io,LuisBosquez/docker.github.io,yeghishe/distribution,joaofnfernandes/docker.github.io,hopkings2008/distribution,vdemeester/distribution,docker-zh/docker.github.io,linearregression/distribution,duglin/distribution,jordimassaguerpla/distribution,estesp/distribution,Tiesheng/distribution,apuigsech/distribution,armbuilds/distribution,ChenLingPeng/distribution,docker/docker.github.io,aaronlehmann/distribution,Seb-Solon/distribution,tdooner/distribution,LuisBosquez/docker.github.io,hpcloud/distribution,aibaars/distribution,vdemeester/distribution,sebrandon1/distribution,denverdino/distribution,dv/distribution,londoncalling/docker.github.io,avinson/distribution,baloo/distribution,harrisonfeng/distribution,johnstep/docker.github.io,jlhawn/distribution,konnase/distribution,avinson/distribution,jordimassaguerpla/distribution,cyli/distribution,johnstep/docker.github.io,londoncalling/docker.github.io,jpoler/distribution,troy0820/docker.github.io,RichardScothern/distribution,jonboulle/distribution,lebauce/distribution,thaJeztah/distribution,aybabtme/distribution,docker/docker.github.io,hanleys/distribution,yeghishe/distribution,imranraja85/distribution,menglingwei/denverdino.github.io,thelinuxkid/distribution,jramseye/distribution,arneluehrs/distribution,jrjang/distribution,LouisKottmann/distribution,jhicks-camgian/distribution,dobril-stanga/distribution,paulczar/distribution,docker-zh/docker.github.io,calavera/distribution,bxy09/distribution,docker-zh/docker.github.io,harche/distribution,phiroict/docker,zhaytee/distribution,alexisbellido/docker.github.io,mikebrow/distribution,johnstep/docker.github.io,arvindkandhare/distribution,sebrandon1/distribution,phiroict/docker,rodacom/docker-hub,bdwill/docker.github.io,andrewnguyen/distribution,iskradelta/distribution,mattrgreen/distribution,denverdino/denverdino.github.io,jzwlqx/denverdino.github.io,shubheksha/docker.github.io,harrisonfeng/distribution,genedock/distribution,tian-xiaobo/distribution,mattrgreen/distribution,bxy09/distribution,ibuildthecloud/distribution,ContainerSolutions/distribution,baloo/distribution,imranraja85/distribution,hanleys/distribution,rhoml/distribution,wking/docker-distribution,manoj535/distribution,dtromb/distribution,shin-/docker.github.io,pdevine/distribution,thaJeztah/docker.github.io,BradleyA/distribution,jhicks-camgian/distribution,adambrett-forks/distribution,anweiss/docker.github.io,gdevillele/docker.github.io,joeuo/docker.github.io,whyrusleeping/distribution,lindenlab/distribution,codefresh-io/cf-distribution,humble00/distribution,andrewnguyen/distribution,mboersma/distribution,lorieri/distribution,denverdino/docker.github.io,BSWANG/denverdino.github.io,maquanyi/distribution,mboersma/distribution,sthapaun/distribution,BSWANG/denverdino.github.io,stevvooe/distribution,denverdino/docker.github.io,JimGalasyn/docker.github.io,denverdino/distribution-fuse,denverdino/docker.github.io,qiniu/distribution,jpoler/distribution,joaofnfernandes/docker.github.io,LuisBosquez/docker.github.io,rhoml/distribution,armbuilds/distribution,liubin/distribution