Commit graph

6 commits

Author SHA1 Message Date
Josh Rickmar
42593c7dfd Remove code intended for Go 1.4 and older.
This change only removes optimizations for older Go releases that we
no longer support in the internal/zero package.  This package should
still continue to build on older releases.
2016-04-28 09:50:20 -04:00
Josh Rickmar
5140086f6e Use LICENSE file and short license headers. 2016-02-28 22:22:34 -05:00
Josh Rickmar
9ee887823d Take advantage of Go 1.5 optimized zeroing.
Closes #286.
2015-05-27 15:32:32 -04:00
Dave Collins
c820c8a015 Relicense to the btcsuite developers. 2015-05-01 12:20:05 -05:00
Josh Rickmar
948609f064 Add licenses to files in package zero. 2015-04-14 11:34:25 -04:00
Josh Rickmar
4d9c43593d Consolidate and optimize zero functions.
This introduce a new internal package to deal with the explicit
clearing of data (such as private keys) in byte slices, byte arrays
(32 and 64-bytes long), and multi-precision "big" integers.

Benchmarks from a xeon e3 (Xor is the zeroing funcion which Bytes
replaces):

BenchmarkXor32  30000000                52.1 ns/op
BenchmarkXor64  20000000                91.5 ns/op
BenchmarkRange32        50000000                31.8 ns/op
BenchmarkRange64        30000000                49.5 ns/op
BenchmarkBytes32        200000000               10.1 ns/op
BenchmarkBytes64        100000000               15.4 ns/op
BenchmarkBytea32        1000000000               2.24 ns/op
BenchmarkBytea64        300000000                4.46 ns/op

Removes an XXX from the votingpool package.
2015-03-05 21:32:33 -05:00