Timmy Welch
5cd3cb8dcf
staticcheck fixes
2024-08-04 18:24:04 -07:00
Timmy Welch
aa1fe89e96
Performance
...
Reduce allocations by re-using uint8 slices where possible
Use github.com/disintegration/imaging for resizing
Add a module option to skip RGB conversion for YCbCr images
2024-08-04 17:21:58 -07:00
Timmy Welch
1ca06a1968
Make compliant with python imagehash
2024-04-05 17:29:30 -06:00
Wu Tingfeng
d68e89bd8f
Increase test coverage to 96.6% ( #61 )
...
* gitignore *.html for test coverage reports
* fix typos
* Increase hashcompute.go test coverage to 100 percent
* Add new Go versions. Upgrade GitHub Actions.
* Add tests for missing ext hashes
* Add test for hashing non-hexadecimal string
* Add tests for loading empty bytes buffer
* Run go fmt
* Fix comments
* Fix comments
* Fix spelling
* fix actions versions
* Upgrade to actions/setup-go@v4
* Add minimum Go version for go.mod
2023-05-03 23:52:14 +09:00
Dong-hee Na
6392b0bac9
all: Add more test ( #30 )
...
* hashcompute_test: Add benchmark
* all: Add more test
2019-03-19 23:10:52 +09:00
Dong-hee Na
14aa1e136f
dct: Improve DCT1D to O(nlogn) algorithm ( #29 )
...
* hashcompute_test: Add benchmark
* dct: Improve DCT1D to O(nlogn) algorithm
AS-IS:
BenchmarkPerceptionHash-8 500 2893930 ns/op 456698 B/op 4455 allocs/op
TO-BE:
BenchmarkPerceptionHash-8 2000 890306 ns/op 456382 B/op 4455 allocs/op
reference: DCT type II, unscaled. Algorithm by Byeong Gi Lee, 1984.
2019-03-19 13:52:44 +09:00
Dong-hee Na
3e058be50d
hashcompute: Update Extend API ( #28 )
...
* hashcompute: Update Extend API
- AverageHashExtend -> ExtAverageHash
- PerceptionHashExtend -> ExtPerceptionHash
- DiffrenceHashExtend -> ExtDiffrenceHash
* imagehash: Update load api
2019-03-18 23:53:09 +09:00
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