Alexander Neumann
662e07d17a
Refactor crypto layer, switch HMAC for Poyl1305-AES
...
HMAC-SHA256 calls SHA256() twice which is very expensive. Therefore,
this commit uses Poly1305-AES instead of HMAC-SHA256.
benchcmp:
benchmark old ns/op new ns/op delta
BenchmarkChunkEncrypt 261033772 195114818 -25.25%
BenchmarkChunkEncryptParallel 260973195 195787368 -24.98%
BenchmarkArchiveDirectory 1050500651 1002615884 -4.56%
BenchmarkPreload 23544286 24994508 +6.16%
BenchmarkLoadTree 350065 427665 +22.17%
BenchmarkEncryptWriter 87789753 31069126 -64.61%
BenchmarkEncrypt 88283197 38259043 -56.66%
BenchmarkDecryptReader 90478843 40714818 -55.00%
BenchmarkEncryptDecryptReader 179917626 81231730 -54.85%
BenchmarkDecrypt 87871591 37784207 -57.00%
BenchmarkSaveJSON 52481 56861 +8.35%
BenchmarkSaveFrom 75404085 51108596 -32.22%
BenchmarkLoadJSONID 90545437 82696805 -8.67%
benchmark old MB/s new MB/s speedup
BenchmarkChunkEncrypt 40.17 53.74 1.34x
BenchmarkChunkEncryptParallel 40.18 53.56 1.33x
BenchmarkEncryptWriter 95.55 270.00 2.83x
BenchmarkEncrypt 95.02 219.26 2.31x
BenchmarkDecryptReader 92.71 206.03 2.22x
BenchmarkEncryptDecryptReader 46.62 103.27 2.22x
BenchmarkDecrypt 95.46 222.01 2.33x
BenchmarkSaveFrom 55.62 82.07 1.48x
benchmark old allocs new allocs delta
BenchmarkChunkEncrypt 112 110 -1.79%
BenchmarkChunkEncryptParallel 103 100 -2.91%
BenchmarkArchiveDirectory 383704 392083 +2.18%
BenchmarkPreload 21765 21874 +0.50%
BenchmarkLoadTree 341 436 +27.86%
BenchmarkEncryptWriter 20 17 -15.00%
BenchmarkEncrypt 14 13 -7.14%
BenchmarkDecryptReader 18 15 -16.67%
BenchmarkEncryptDecryptReader 46 39 -15.22%
BenchmarkDecrypt 16 12 -25.00%
BenchmarkSaveJSON 81 86 +6.17%
BenchmarkSaveFrom 117 121 +3.42%
BenchmarkLoadJSONID 80525 80264 -0.32%
benchmark old bytes new bytes delta
BenchmarkChunkEncrypt 118956 64697 -45.61%
BenchmarkChunkEncryptParallel 118972 64681 -45.63%
BenchmarkArchiveDirectory 160236600 177498232 +10.77%
BenchmarkPreload 2772488 3302992 +19.13%
BenchmarkLoadTree 49102 46484 -5.33%
BenchmarkEncryptWriter 28927 8388146 +28897.64%
BenchmarkEncrypt 2473 1950 -21.15%
BenchmarkDecryptReader 527827 2774 -99.47%
BenchmarkEncryptDecryptReader 4100875 1528036 -62.74%
BenchmarkDecrypt 2509 2154 -14.15%
BenchmarkSaveJSON 4971 5892 +18.53%
BenchmarkSaveFrom 40117 31742 -20.88%
BenchmarkLoadJSONID 9444217 9442106 -0.02%
This closes #102 .
2015-03-14 20:00:41 +01:00
Alexander Neumann
3c92c7e689
Recreate blob cache if missing ( closes #104 )
2015-03-14 18:15:47 +01:00
Alexander Neumann
05f3e98ed9
Try different spelling of 'go'
2015-03-14 15:38:59 +01:00
Alexander Neumann
3bbd66f43a
Move section, remove 'tip'
2015-03-14 15:37:12 +01:00
Alexander Neumann
f6977f1a6a
Add 'release' to the list of Go versions
2015-03-14 15:34:30 +01:00
Alexander Neumann
3f816f95c1
Include more Go versions
2015-03-14 15:07:29 +01:00
Alexander Neumann
23ac4f84dd
Set file-mode in repository read-only ( Closes #48 )
2015-03-14 14:30:26 +01:00
Alexander Neumann
248878022c
Add Travis IRC notifications
2015-03-14 13:24:45 +01:00
Alexander Neumann
1e4555aa5f
Exchange build-status icon
2015-03-14 13:23:44 +01:00
Alexander Neumann
6618afe5c2
Change CI-Service: Use travis instead of wercker
2015-03-14 13:19:52 +01:00
Alexander Neumann
b17840c6ee
Refactor cache and 'cache' command
2015-03-14 12:57:29 +01:00
Alexander Neumann
e1fc17aeb1
Implement per-repository cache
2015-03-14 12:16:28 +01:00
Alexander Neumann
f69a39cff5
Add ID to repository
...
This allows identifying a repository regardless if it's accessed over
SFTP or locally. Introduced for having a per-repository cache.
2015-03-14 12:06:27 +01:00
Alexander Neumann
8156d4481d
Add hint to IRC channel
2015-03-13 21:46:52 +01:00
Alexander Neumann
91578fb2a3
Fix counting for tests for Preload
2015-03-10 15:58:23 +01:00
Alexander Neumann
6d5f1c0197
Add test for incremental backup
2015-03-10 14:17:54 +01:00
Alexander Neumann
7b54c21726
Store ID in Snapshot
2015-03-10 14:17:52 +01:00
Alexander Neumann
2166367039
Fix comparison for new files with '.'
2015-03-10 14:17:50 +01:00
Alexander Neumann
14298fe232
Cache blobs for each snapshot
2015-03-09 23:50:32 +01:00
Alexander Neumann
b2cce7f051
Remove extra argument
2015-03-08 21:21:31 +01:00
Alexander Neumann
ab8b97c4ba
Remove code duplication
...
The top-level tree is now handled by the DirWorkers
2015-03-08 21:06:51 +01:00
Alexander Neumann
6007452fd2
Fix darwin support
2015-03-08 14:32:49 +01:00
Alexander Neumann
b3cdd3ead9
Remove unused code
2015-03-08 14:22:35 +01:00
Alexander Neumann
ba892e1ec2
Refactor backup pipeline
2015-03-08 14:16:01 +01:00
Alexander Neumann
1516cb5996
Bump Go version to 1.3
2015-03-07 22:31:44 +01:00
Alexander Neumann
798ac97a52
Re-enable dedup, add test ( closes #95 )
2015-03-07 12:05:33 +01:00
Alexander Neumann
03bdbb064f
Allow cancelling walker
2015-03-02 19:58:11 +01:00
Alexander Neumann
f167366be5
Add walk for trees, restructure
2015-03-02 19:58:06 +01:00
Alexander Neumann
c8be54564f
Add local cache
2015-03-02 10:04:01 +01:00
Alexander Neumann
c056382c9c
Remove zlib compression
2015-03-02 10:02:55 +01:00
Alexander Neumann
b4cb75693e
Do not close file if it could not be opened
2015-02-22 00:21:56 +01:00
Alexander Neumann
ef498a987b
Allow configuring temp dir for tests
2015-02-21 16:53:14 +01:00
Alexander Neumann
a59b0ec1f6
Add progress report for loading blobs
2015-02-21 15:32:48 +01:00
Alexander Neumann
58cded6b75
Refactor progress reporting
2015-02-21 14:25:06 +01:00
Alexander Neumann
97b963ef1d
Report files and dirs
2015-02-21 14:05:02 +01:00
Alexander Neumann
2f3aa344af
Make decryptReader fulfill flate.Reader
...
benchmark old ns/op new ns/op delta
BenchmarkLoadJSONID 50232171 48596972 -3.26%
benchmark old allocs new allocs delta
BenchmarkLoadJSONID 43643 42884 -1.74%
benchmark old bytes new bytes delta
BenchmarkLoadJSONID 5773048 3785517 -34.43%
2015-02-18 23:30:59 +01:00
Alexander Neumann
a0fea201d9
Reenable Preloading
2015-02-18 23:10:59 +01:00
Alexander Neumann
f214dce87c
Add tests for Archiver.Preload() and a few more
2015-02-18 22:48:59 +01:00
Alexander Neumann
3bb2aba141
Remove test files
2015-02-18 21:50:59 +01:00
Alexander Neumann
68141c738b
Correct length of plaintext before decryption
2015-02-18 20:44:21 +01:00
Alexander Neumann
2462f93533
Disable Tests when benchdir is unset
2015-02-17 23:40:37 +01:00
Alexander Neumann
f8e47181b0
Add more debug for preloading
2015-02-17 23:38:40 +01:00
Alexander Neumann
65aae5f8c1
Disable preloading for now
2015-02-17 23:38:15 +01:00
Alexander Neumann
d3fe4a7f6d
Close Reader after read
2015-02-17 23:37:45 +01:00
Alexander Neumann
215fb982c6
Do not run archiver tests by default
2015-02-17 23:23:12 +01:00
Alexander Neumann
677a5038c5
Increase concurrency for loading blobs
2015-02-17 23:15:08 +01:00
Alexander Neumann
b6f25aa690
Remove Each(), add basic stats
2015-02-17 23:11:56 +01:00
Alexander Neumann
4bb7f2f2ed
Add Preloader for blobs
2015-02-17 22:39:44 +01:00
Alexander Neumann
c631b5c738
Add Len() functions for IDSet and Map
2015-02-17 22:39:16 +01:00
Alexander Neumann
4d1e7b9f24
Change parameters of LoadTree()
2015-02-17 22:37:34 +01:00