Commit Graph

439 Commits

Author SHA1 Message Date
Alexander Neumann 87a1946417 Merge remote-tracking branch 'fw42/rename_change_to_passwd' 2015-04-25 11:11:27 +02:00
Alexander Neumann fd472cb59d Use short ID for init 2015-04-25 11:07:51 +02:00
Alexander Neumann 19486987b0 Merge remote-tracking branch 'fw42/mixed_caps' 2015-04-25 11:06:13 +02:00
Alexander Neumann 29bd0f34a0 Merge pull request #130 from fw42/writing_consistency
Consistent writing
2015-04-25 10:54:32 +02:00
Alexander Neumann d596712339 Merge pull request #131 from fw42/noatime
O_NOATIME on Linux
2015-04-25 10:52:44 +02:00
Florian Weingarten dead2b7e93 rename "change" to "passwd" 2015-04-25 02:44:26 -04:00
Florian Weingarten 262e5a8b4a O_NOATIME on Linux 2015-04-25 00:45:20 +00:00
Florian Weingarten 170d147427 Consistent writing 2015-04-24 19:43:27 -04:00
Florian Weingarten ebae478631 Prefer mixedCaps over underscore 2015-04-24 19:39:32 -04:00
Alexander Neumann 8be6dc0265 Merge pull request #127 from fw42/gitignore
gitignore binary files
2015-04-25 01:13:15 +02:00
Alexander Neumann 75fc05ffb9 Merge pull request #126 from fw42/remember_your_password
remember your password
2015-04-25 01:13:04 +02:00
Florian Weingarten 441f4deb66 remember your password 2015-04-24 19:08:05 -04:00
Florian Weingarten d194663837 gitignore binary files 2015-04-24 18:56:17 -04:00
Alexander Neumann 1eb6172c40 crypto: Use bytes.Reader for crypto reader 2015-04-25 00:54:33 +02:00
Alexander Neumann 9c43688d1a crypto: Add buffer management to writer
benchmarks:

    benchmark                         old ns/op     new ns/op     delta
    BenchmarkEncryptWriter            37032949      37754353      +1.95%
    BenchmarkEncrypt                  35989611      36344593      +0.99%
    BenchmarkDecryptReader            38274466      38282979      +0.02%
    BenchmarkEncryptDecryptReader     77506506      77088612      -0.54%
    BenchmarkDecrypt                  36219298      36128875      -0.25%

    benchmark                         old MB/s     new MB/s     speedup
    BenchmarkEncryptWriter            226.52       222.19       0.98x
    BenchmarkEncrypt                  233.08       230.81       0.99x
    BenchmarkDecryptReader            219.17       219.12       1.00x
    BenchmarkEncryptDecryptReader     108.23       108.82       1.01x
    BenchmarkDecrypt                  231.61       232.19       1.00x

    benchmark                         old allocs     new allocs     delta
    BenchmarkEncryptWriter            20             16             -20.00%
    BenchmarkEncrypt                  12             12             +0.00%
    BenchmarkDecryptReader            13             13             +0.00%
    BenchmarkEncryptDecryptReader     32             27             -15.62%
    BenchmarkDecrypt                  10             10             +0.00%

    benchmark                         old bytes     new bytes     delta
    BenchmarkEncryptWriter            1020064       170331        -83.30%
    BenchmarkEncrypt                  1600          1600          +0.00%
    BenchmarkDecryptReader            841070        842094        +0.12%
    BenchmarkEncryptDecryptReader     3027433       845129        -72.08%
    BenchmarkDecrypt                  1573          1573          +0.00%
2015-04-25 00:54:33 +02:00
Alexander Neumann 387082f983 Fix test BenchmarkChunkEncrypt 2015-04-25 00:54:15 +02:00
Alexander Neumann 61d1f6ad18 crypto: Return error when same slice is used 2015-04-19 14:57:35 +02:00
Alexander Neumann 8e867817a5 crypto: Clarify slice usage for Encrypt/Decrypt 2015-04-19 14:57:35 +02:00
Alexander Neumann 63e79539e9 crypto: Remove type iv 2015-04-19 14:57:35 +02:00
Alexander Neumann 7b6bd98c9e crypto: Rename internal functions 2015-04-19 14:57:35 +02:00
Alexander Neumann 7a7cc5b39f crypto: Test length 2015-04-12 21:48:17 +02:00
Alexander Neumann f8e1043ad3 crypto: Match signature of Encrypt() to Decrypt() 2015-04-12 20:58:41 +02:00
Alexander Neumann 7e6acfe44d crypto: move reader and writer to its own file 2015-04-12 10:57:41 +02:00
Alexander Neumann 64f7d4d611 crypto: Rename exported funcs and structs, cleanup 2015-04-12 10:55:56 +02:00
Alexander Neumann 21dc6dd3db Rename crypto functions and constants 2015-04-12 09:41:47 +02:00
Alexander Neumann 3a2525809c Reorganize crypto code
Move all crypto functions to package "crypto", move random generators
for tests into helper package.
2015-04-12 09:36:14 +02:00
Alexander Neumann 8e8f31d3fe debug: fix typos 2015-04-09 23:15:45 +02:00
Alexander Neumann 4f4f3c421a Use package "restic/test" 2015-04-09 21:15:48 +02:00
Alexander Neumann a2514425a3 Split out test helpers into package "restic/test" 2015-04-09 21:01:09 +02:00
Alexander Neumann 58f289003c Clarify terminology 2015-04-09 20:48:32 +02:00
Alexander Neumann b99474154c Fix indenting 2015-04-09 19:59:16 +02:00
Alexander Neumann 874d6ee2fe Add new structure to documentation 2015-04-09 19:56:41 +02:00
Alexander Neumann cd22d1b9c1 Merge remote-tracking branch 'rakoo/latest'
This fixes #121 and #105.
2015-04-09 19:21:22 +02:00
Matthieu Rakotojaona 1d0f8fa80e Take last snapshot as parent by default and allow force re-reading 2015-04-07 22:03:50 +02:00
Alexander Neumann d2105a5085 Node: Also store ModeType bits in Mode
This fixes #120
2015-04-07 21:57:26 +02:00
Alexander Neumann 8fb032b590 doc: Add `chunker_polynomial` 2015-04-07 20:10:02 +02:00
Alexander Neumann 9a5864642a doc: Add description of the `id` file 2015-04-07 20:09:50 +02:00
Alexander Neumann f02865a205 chunker: Use polynomial functions 2015-04-06 20:45:06 +02:00
Alexander Neumann 8986c75091 Add more benchmarks 2015-04-06 20:08:09 +02:00
Alexander Neumann 3d058929e3 Fix chunker tests 2015-04-06 00:31:31 +02:00
Alexander Neumann f924dc1dc6 Remove debug output 2015-04-06 00:26:58 +02:00
Alexander Neumann b2307cafa2 Seed chunker with random per-repository polynomial 2015-04-06 00:22:19 +02:00
Alexander Neumann c969a42e8d chunker: Allow resetting polynomial 2015-04-05 22:53:06 +02:00
Alexander Neumann 25e3ac40ee chunker: Cache computations 2015-04-05 22:53:06 +02:00
Alexander Neumann 367cc75970 chunker: Refactor to take polynomial on creation 2015-04-05 22:52:55 +02:00
Alexander Neumann 3cdf3a25b9 chunker: Require a random irreducible polynomial
This also implements the necessary polynomial arithmetics in F_2[X].
2015-04-05 22:52:43 +02:00
Alexander Neumann 094ca7e635 Remove unused key offset from blob struct 2015-03-28 16:59:14 +01:00
Alexander Neumann 24b14e21cc Remove pools for nodes and IDs
This removes the allocation pools for nodes and IDs. I feel they aren't
really needed. Benchmarks:

    benchmark                         old ns/op      new ns/op      delta
    BenchmarkChunkEncrypt             197890867      198616293      +0.37%
    BenchmarkChunkEncryptParallel     196127004      198819818      +1.37%
    BenchmarkArchiveDirectory         1098848419     1087237723     -1.06%
    BenchmarkPreload                  30464455       29910239       -1.82%
    BenchmarkLoadTree                 3265092        3088543        -5.41%
    BenchmarkEncryptWriter            37213511       37134683       -0.21%
    BenchmarkEncrypt                  36037879       36166546       +0.36%
    BenchmarkDecryptReader            38165659       38556734       +1.02%
    BenchmarkEncryptDecryptReader     77027044       77194987       +0.22%
    BenchmarkDecrypt                  36017602       35937888       -0.22%
    BenchmarkSaveJSON                 47906          50270          +4.93%
    BenchmarkSaveFrom                 49775973       50520969       +1.50%
    BenchmarkLoadJSONID               105290245      107281849      +1.89%
    BenchmarkChunkerWithSHA256        151501430      148264078      -2.14%
    BenchmarkChunkerWithMD5           93606346       94036392       +0.46%
    BenchmarkChunker                  74285431       75933882       +2.22%
    BenchmarkPipelineWalker           387689         346467         -10.63%

    benchmark                         old MB/s     new MB/s     speedup
    BenchmarkChunkEncrypt             52.99        52.79        1.00x
    BenchmarkChunkEncryptParallel     53.46        52.74        0.99x
    BenchmarkEncryptWriter            225.42       225.90       1.00x
    BenchmarkEncrypt                  232.77       231.94       1.00x
    BenchmarkDecryptReader            219.79       217.57       0.99x
    BenchmarkEncryptDecryptReader     108.90       108.67       1.00x
    BenchmarkDecrypt                  232.90       233.42       1.00x
    BenchmarkSaveFrom                 84.26        83.02        0.99x
    BenchmarkChunkerWithSHA256        69.21        70.72        1.02x
    BenchmarkChunkerWithMD5           112.02       111.51       1.00x
    BenchmarkChunker                  141.15       138.09       0.98x

    benchmark                         old allocs     new allocs     delta
    BenchmarkChunkEncrypt             110            110            +0.00%
    BenchmarkChunkEncryptParallel     100            100            +0.00%
    BenchmarkArchiveDirectory         475591         476635         +0.22%
    BenchmarkPreload                  28059          24182          -13.82%
    BenchmarkLoadTree                 3124           2889           -7.52%
    BenchmarkEncryptWriter            19             19             +0.00%
    BenchmarkEncrypt                  13             13             +0.00%
    BenchmarkDecryptReader            16             15             -6.25%
    BenchmarkEncryptDecryptReader     39             39             +0.00%
    BenchmarkDecrypt                  11             11             +0.00%
    BenchmarkSaveJSON                 74             74             +0.00%
    BenchmarkSaveFrom                 109            112            +2.75%
    BenchmarkLoadJSONID               103630         97849          -5.58%
    BenchmarkChunkerWithSHA256        13             13             +0.00%
    BenchmarkChunkerWithMD5           12             12             +0.00%
    BenchmarkChunker                  6              6              +0.00%
    BenchmarkPipelineWalker           212            165            -22.17%

    benchmark                         old bytes     new bytes     delta
    BenchmarkChunkEncrypt             64697         64697         +0.00%
    BenchmarkChunkEncryptParallel     64681         64681         +0.00%
    BenchmarkArchiveDirectory         193385504     193790864     +0.21%
    BenchmarkPreload                  4064701       3942000       -3.02%
    BenchmarkLoadTree                 344954        325396        -5.67%
    BenchmarkEncryptWriter            12793         12793         +0.00%
    BenchmarkEncrypt                  1950          1950          +0.00%
    BenchmarkDecryptReader            3120          2774          -11.09%
    BenchmarkEncryptDecryptReader     1528036       1528036       +0.00%
    BenchmarkDecrypt                  1919          1919          +0.00%
    BenchmarkSaveJSON                 5524          5524          +0.00%
    BenchmarkSaveFrom                 31353         40804         +30.14%
    BenchmarkLoadJSONID               12872020      16010968      +24.39%
    BenchmarkChunkerWithSHA256        26821         26821         +0.00%
    BenchmarkChunkerWithMD5           13554         13554         +0.00%
    BenchmarkChunker                  13458         13458         +0.00%
    BenchmarkPipelineWalker           58584         55560         -5.16%
2015-03-28 16:51:37 +01:00
Alexander Neumann 702b6cfc1e Make ID.Str() handle nil ids correctly 2015-03-28 16:46:21 +01:00
Alexander Neumann 2abda75404 Refactor mockBackend for test 2015-03-28 16:42:35 +01:00