Commit Graph

9 Commits

Author SHA1 Message Date
Dong-hee Na
161b6f5676
hashcompute: Redesign XXXHashExtend API interface (#27) 2019-03-18 21:40:16 +09:00
Dong-hee Na
20cafe6017
hashcompute: Fix 64bits unaligned size case (#23) 2019-03-16 23:15:32 +09:00
Dong-hee Na
5f56e8609c
DifferenceHashExtend: Implement DifferenceHashExtend (#21) 2019-03-16 00:47:57 +09:00
Dong-hee Na
b535580cae
AverageHashExtend: Implement AverageHashExtend and fix bugs (#20) 2019-03-16 00:26:38 +09:00
Alex
c41a59a872 add PerceptionHashExtend function (#18)
goimagehash: Implement PerceptionHashExtend
2019-02-08 18:02:25 +09:00
Dong-hee Na
6995fa9b0c goimagehash: Add test 2018-05-10 11:54:51 +09:00
Dong-hee Na
1903317145 goimagehash: Fix quickselect algorithm to pick median value. 2018-05-08 13:33:43 +09:00
Dominik Honnef
ad2b6ded3b Use bits.OnesCount64 when available
Benchmark on i7-2600k, which has the POPCNT instruction:

name                 old time/op  new time/op  delta
DistanceIdentical-8  5.08ns ± 0%  1.01ns ± 1%  -80.07%  (p=0.008 n=5+5)
DistanceDifferent-8  81.5ns ± 2%   1.0ns ± 0%  -98.76%  (p=0.016 n=5+4)

Benchmark on Cavium Octeon, a MIPS64 platform with no dedicated
instruction:

name                 old time/op  new time/op  delta
DistanceIdentical-2   120ns ± 6%   144ns ± 5%  +19.93%  (p=0.008 n=5+5)
DistanceDifferent-2   656ns ± 4%   144ns ± 4%  -78.09%  (p=0.008 n=5+5)
2018-05-02 23:52:38 +09:00
Dong-hee Na
7aba8954cd [goimagehash] First implement. 2017-07-31 22:47:14 +09:00