Commit graph

1486 commits

Author SHA1 Message Date
Alexander Neumann
d94d003165 Add test and benchmark for SaveFrom() 2015-02-16 22:35:46 +01:00
Alexander Neumann
731e81ef06 Re-use zlib writers to reduce memory usage
benchcmp:

    benchmark                       old ns/op       new ns/op       delta
    BenchmarkArchiveDirectory-4     29624960475     29511001504     -0.38%
    BenchmarkSaveJSON-4             379833          225609          -40.60%

    benchmark                       old allocs     new allocs     delta
    BenchmarkArchiveDirectory-4     546736         540642         -1.11%
    BenchmarkSaveJSON-4             150            126            -16.00%

    benchmark                       old bytes      new bytes     delta
    BenchmarkArchiveDirectory-4     1372476952     438519336     -68.05%
    BenchmarkSaveJSON-4             1462773        9087          -99.38%
2015-02-16 22:35:26 +01:00
Alexander Neumann
06ed5c12b8 Remove Compress() and Uncompress() from backend 2015-02-16 00:30:51 +01:00
Alexander Neumann
b762a342d3 SaveJSON: use streams 2015-02-16 00:24:58 +01:00
Alexander Neumann
fb2cd7b485 HashingWriter: Track size 2015-02-16 00:24:43 +01:00
Alexander Neumann
b816192d1c backend: Throw error when Close() is called twice 2015-02-16 00:24:02 +01:00
Alexander Neumann
259389f7d1 EncryptWriter: do not close underlying writer 2015-02-16 00:22:46 +01:00
Alexander Neumann
68911ef11d server: use streams for LoadJSON*() 2015-02-15 23:49:06 +01:00
Alexander Neumann
907d401e32 backend: use HashingWriter 2015-02-15 23:46:21 +01:00
Alexander Neumann
3dbe02182b Remove EncryptFrom*() methods, add Tests for EncryptTo() 2015-02-15 23:38:45 +01:00
Alexander Neumann
5c724b92b8 Add HashingWriter and HashAppendWriter 2015-02-15 23:21:35 +01:00
Alexander Neumann
5801d9f42f Add EncryptTo() methods 2015-02-15 18:13:42 +01:00
Alexander Neumann
72c951a6ec Simply backend interface
Rename CreateBlob() method to Create(), remove old Create* methods
2015-02-15 17:26:20 +01:00
Alexander Neumann
35636a9d92 Introduce CreateBlob() method for backend 2015-02-15 17:09:49 +01:00
Alexander Neumann
f8f8107d55 wip 2015-02-15 15:17:24 +01:00
Alexander Neumann
2f1137bac4 Add pipe package 2015-02-15 15:09:26 +01:00
Alexander Neumann
937c91e1cf Add gofmt test to wercker.yml 2015-02-15 15:07:43 +01:00
Alexander Neumann
59cfc4bd03 Slightly improve performance for chunker
benchcmp output:

benchmark                      old ns/op     new ns/op     delta
BenchmarkChunkerWithSHA256     151752169     148072829     -2.42%
BenchmarkChunkerWithMD5        97166433      93357090      -3.92%
BenchmarkChunker               77265146      73642723      -4.69%

benchmark                      old MB/s     new MB/s     speedup
BenchmarkChunkerWithSHA256     69.10        70.81        1.02x
BenchmarkChunkerWithMD5        107.92       112.32       1.04x
BenchmarkChunker               135.71       142.39       1.05x

benchmark                      old allocs     new allocs     delta
BenchmarkChunkerWithSHA256     15             13             -13.33%
BenchmarkChunkerWithMD5        14             12             -14.29%
BenchmarkChunker               8              6              -25.00%

benchmark                      old bytes     new bytes     delta
BenchmarkChunkerWithSHA256     262924        26821         -89.80%
BenchmarkChunkerWithMD5        262774        13554         -94.84%
BenchmarkChunker               262678        13458         -94.88%
2015-02-13 20:03:40 +01:00
Alexander Neumann
0f36b19a4c Update Server to match new Backend interface 2015-02-11 22:46:40 +01:00
Alexander Neumann
92e2647505 Add tests for sftp backend, split out id tests 2015-02-11 20:17:55 +01:00
Alexander Neumann
6c68150e45 Add streaming functions to mockBackend 2015-02-11 20:01:01 +01:00
Alexander Neumann
89bf88df7a Add streaming methods to interface 2015-02-11 19:55:23 +01:00
Alexander Neumann
fdbe2f0c2d Implement streaming methods for sftp backend 2015-02-11 19:55:11 +01:00
Alexander Neumann
0a45ec1d3a Implement streaming functions for local backend 2015-02-11 19:50:29 +01:00
Alexander Neumann
64f7b4e5e9 Rename HashReader -> HashAppendReader, add HashingReader 2015-02-11 19:37:48 +01:00
Alexander Neumann
842dea173c Generalize hash in backend 2015-02-11 19:25:43 +01:00
Alexander Neumann
5f0cce8546 Move HashReader to backend 2015-02-11 19:20:45 +01:00
Alexander Neumann
a564a454c4 Add stream functions for decrypt 2015-02-11 18:36:31 +01:00
Alexander Neumann
c6901af5aa Add streaming encrypt functions 2015-02-11 18:05:43 +01:00
Alexander Neumann
93abaf204a Fix get_random for count != 4k, add randomReader() 2015-02-11 17:38:51 +01:00
Alexander Neumann
3bf66d24fa chunker: Add test, only pass hash.Hash to New() 2015-02-11 13:12:36 +01:00
Alexander Neumann
869ba83c6d Add Benchmarks for Scanner and Archiver 2015-02-10 21:59:18 +01:00
Alexander Neumann
9fcd23bd38 Add parallel benchmark for chunk+encrypt 2015-02-09 23:39:16 +01:00
Alexander Neumann
bbb3145f11 Add chunker pool 2015-02-09 23:38:50 +01:00
Alexander Neumann
3daeee8e2c Make chunker resettable 2015-02-09 23:37:33 +01:00
Alexander Neumann
bda33e612c Implement streaming chunker using io.Reader 2015-02-09 00:28:54 +01:00
Alexander Neumann
a5c33d80d8 Chunker: remove pool, buf and make bufsize an option 2015-02-08 19:32:12 +01:00
Alexander Neumann
8dc5c2296a debug: do not seek after creating log file 2015-02-08 14:46:29 +01:00
Alexander Neumann
c884704bce Refactor pool stats 2015-02-08 13:46:51 +01:00
Alexander Neumann
d5dccd746e Progress: Add convenience functions 2015-02-07 17:05:49 +01:00
Alexander Neumann
7558e99dd5 Add newline to debug output 2015-02-07 17:04:20 +01:00
Alexander Neumann
57b8373bc9 Progress: Rename functions, fix documentation 2015-02-07 15:27:09 +01:00
Alexander Neumann
2b7af4a1c1 tree: Add concurrent traversing functions 2015-02-04 22:36:49 +01:00
Alexander Neumann
316e761f27 fsck: Check minimal set of blobs 2015-02-04 22:33:48 +01:00
Alexander Neumann
d44eb9d794 Always cast link counter to uint64 2015-02-03 22:06:17 +01:00
Alexander Neumann
84ad6cf4d2 Return error on backup 2015-02-03 22:05:46 +01:00
Alexander Neumann
26d3949c8b Use file size from FileInfo 2015-02-03 22:05:25 +01:00
Alexander Neumann
bb777d9a58 Introduce UserID, GroupID for snapshot
Use the fields UID and GID for Unix user and group ID, and the fields
UserID and GroupID for Windows user and group strings.
2015-02-03 22:04:09 +01:00
Alexander Neumann
d1fee28ae5 Extend darwin support 2015-02-03 21:32:01 +01:00
Alexander Neumann
b7b9c7750d Merge branch 'support-other-platforms' 2015-02-03 21:19:02 +01:00