Message:
Hello [email protected],
I'd like you to review this change to
https://code.google.com/p/go
Description:
crypto/md5: native arm assembler version
An ARM version of md5block.go with a big improvement in
throughput (up to 150%) and a reduction in object size (21%).
Code size
Before 3100 bytes
After 2440 bytes
21% smaller
Benchmarks
Before on Raspberry PI
PASS
BenchmarkHash8Bytes 200000 11703 ns/op
0.68 MB/s 64 B/op 1 allocs/op
BenchmarkHash1K 50000 38057 ns/op
26.91 MB/s 128 B/op 2 allocs/op
BenchmarkHash8K 10000 208131 ns/op
39.36 MB/s 128 B/op 2 allocs/op
BenchmarkHash8BytesUnaligned 200000 11457 ns/op
0.70 MB/s 64 B/op 1 allocs/op
BenchmarkHash1KUnaligned 50000 69334 ns/op
14.77 MB/s 128 B/op 2 allocs/op
BenchmarkHash8KUnaligned 5000 455120 ns/op
18.00 MB/s 128 B/op 2 allocs/op
After on Raspberry PI
PASS
BenchmarkHash8Bytes 500000 7091 ns/op
1.13 MB/s +66% 0 B/op 0 allocs/op
BenchmarkHash1K 100000 22469 ns/op
45.57 MB/s +69% 0 B/op 0 allocs/op
BenchmarkHash8K 10000 144155 ns/op
56.83 MB/s +44% 0 B/op 0 allocs/op
BenchmarkHash8BytesUnaligned 500000 7025 ns/op
1.14 MB/s +62% 0 B/op 0 allocs/op
BenchmarkHash1KUnaligned 100000 27727 ns/op
36.93 MB/s +150% 0 B/op 0 allocs/op
BenchmarkHash8KUnaligned 10000 185963 ns/op
44.05 MB/s +140% 0 B/op 0 allocs/op
This also adds another test which makes sure that the sums
over larger blocks work properly. I wrote this test when I was
worried about memory corruption.
Please review this at https://codereview.appspot.com/11648043/
Affected files:
M src/pkg/crypto/md5/gen.go
M src/pkg/crypto/md5/md5_test.go
M src/pkg/crypto/md5/md5block.go
A src/pkg/crypto/md5/md5block_arm.s
M src/pkg/crypto/md5/md5block_decl.go
--
---
You received this message because you are subscribed to the Google Groups "golang-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.