]> Cypherpunks repositories - gostls13.git/commit
crypto/rc4: naïve ARM assembly implementation
authorShenghou Ma <minux.ma@gmail.com>
Thu, 7 Feb 2013 10:54:21 +0000 (18:54 +0800)
committerShenghou Ma <minux.ma@gmail.com>
Thu, 7 Feb 2013 10:54:21 +0000 (18:54 +0800)
commit80e1cf73eb673b352a7888141c42ab9ab16488df
treebe58f75b91f410701b501a6b18b933385ae21fb0
parent0592c449560d5c748d3d2a2e44dc95d40136f384
crypto/rc4: naïve ARM assembly implementation

On 800MHz Cortex-A8:
benchmark           old ns/op    new ns/op    delta
BenchmarkRC4_128         9395         2838  -69.79%
BenchmarkRC4_1K         74497        22120  -70.31%
BenchmarkRC4_8K        587243       171435  -70.81%

benchmark            old MB/s     new MB/s  speedup
BenchmarkRC4_128        13.62        45.09    3.31x
BenchmarkRC4_1K         13.75        46.29    3.37x
BenchmarkRC4_8K         13.79        47.22    3.42x

Result for "OpenSSL 1.0.1c 10 May 2012" from Debian/armhf sid:
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
rc4              39553.81k    46522.39k    49336.11k    50085.63k    50258.06k

R=golang-dev, agl, dave
CC=golang-dev
https://golang.org/cl/7310051
src/pkg/crypto/rc4/rc4_arm.s [new file with mode: 0644]
src/pkg/crypto/rc4/rc4_asm.go
src/pkg/crypto/rc4/rc4_ref.go