History of src/0dev.org/predictor/predictor.go of 893c36d683930cc8

History of file src/0dev.org/predictor/predictor.go at check-in 893c36d683930cc8

2014-12-25
08:48
Allocate the predictor's decompression buffer per Read call. file: [4f6ff0f55a] check-in: [f06f8cd058] user: spaskalev, branch: trunk, size: 4444 [annotate] [blame] [check-ins using] [diff]
00:55
Predictor's compressor and decompressor structures now implement io.Writer/io.Reader in order to deal away with function indirection but they do not follow the required semantics. Those are provided by the SizedWriter/SizedReader wrappers returned by the constructor functions. file: [3161320c11] check-in: [4dfcff962c] user: spaskalev, branch: trunk, size: 4439 [annotate] [blame] [check-ins using] [diff]
00:43
Extracted predictor's compressor and decompressor code into separate structs that embed Sized{Writer,Reader} file: [cb877636af] check-in: [50507bd510] user: spaskalev, branch: trunk, size: 4506 [annotate] [blame] [check-ins using] [diff]
2014-12-24
21:40
Fixed SizedWriter behavior so that it follows io.Writer's Write(...) contract. Added more tests for 100% CC on the ioutil package. Predictor's compressor now uses SizedWriter and no longer has to do any internal buffering. file: [43e7f751ed] check-in: [e1778aba98] user: spaskalev, branch: trunk, size: 4146 [annotate] [blame] [check-ins using] [diff]
2014-12-23
20:53
Renamed BlockReader to SizedReader, modified ioutil tests for 100% code coverage file: [1bc0c5d728] check-in: [11d1c50cd5] user: spaskalev, branch: trunk, size: 5530 [annotate] [blame] [check-ins using] [diff]
18:52
Renamed MinReader to BlockReader. The later is now used by predictor's decompressor to simplify the code and deal away with the need for internal buffering. file: [625ed7e8bc] check-in: [38f8e62c81] user: spaskalev, branch: trunk, size: 5530 [annotate] [blame] [check-ins using] [diff]
09:32
Removed the compressor alias type from predictor, use ioutil.WriterFunc file: [7a1990432a] check-in: [c62581c2a6] user: spaskalev, branch: trunk, size: 6266 [annotate] [blame] [check-ins using] [diff]
08:15
Removed the decompressor alias type from predictor, use ioutil.ReaderFunc file: [4bb1d52139] check-in: [2b049247ed] user: spaskalev, branch: trunk, size: 6240 [annotate] [blame] [check-ins using] [diff]
2014-12-22
19:52
Added documentation for the decompressor file: [290c8bbbe5] check-in: [89bfe97384] user: spaskalev, branch: trunk, size: 6441 [annotate] [blame] [check-ins using] [diff]
19:28
Extracted the predictor's hash function as a method of the context struct. Minor changes to the decompressor's variables. file: [a4885df9dd] check-in: [9dfd3cb1a2] user: spaskalev, branch: trunk, size: 6145 [annotate] [blame] [check-ins using] [diff]
17:15
Calculate the decompressed block length outside of the predictor loop file: [46cd9d5cef] check-in: [27ecac81d3] user: spaskalev, branch: trunk, size: 5909 [annotate] [blame] [check-ins using] [diff]
16:35
Decompressor - try to fill as much as possible in the output buffer in a single pass. file: [71e92568a2] check-in: [42ba1f458d] user: spaskalev, branch: decompressor2, size: 5836 [annotate] [blame] [check-ins using] [diff]
15:34
Fixed a nasty variable shadowing bug :) file: [219e9c8a2d] check-in: [e9b80a705b] user: spaskalev, branch: decompressor2, size: 5681 [annotate] [blame] [check-ins using] [diff]
14:23
Read available bytes and the end of the buffer and decompress in a singe pass file: [c018a46296] check-in: [ae0940d072] user: spaskalev, branch: decompressor2, size: 5684 [annotate] [blame] [check-ins using] [diff]
2014-12-21
23:24
The decompressor now tries to fill in the whole output buffer in a single call. file: [9dfe9174f8] check-in: [1f73d90f65] user: spaskalev, branch: trunk, size: 4936 [annotate] [blame] [check-ins using] [diff]
22:52
Removed TODOs, renamed readCount->rc, wrapped->reader file: [090d2f3fd4] check-in: [630530df49] user: spaskalev, branch: trunk, size: 4694 [annotate] [blame] [check-ins using] [diff]
22:12
Check in the new decompressor implementation in a separate branch file: [84146b7c8c] check-in: [bd1368b81f] user: spaskalev, branch: decompressor2, size: 5801 [annotate] [blame] [check-ins using] [diff]
17:23
Fixed a rare case of losing data from the decompressor's internal result buffer. file: [d2a3bd9d21] check-in: [7b74fd57f8] user: spaskalev, branch: trunk, size: 5013 [annotate] [blame] [check-ins using] [diff]
2014-12-20
13:04
Decompressor might loose part of the underlying buffer array by reslicing, fixed by copy file: [90c8b12e57] check-in: [d516e7425d] user: spaskalev, branch: trunk, size: 5039 [annotate] [blame] [check-ins using] [diff]
11:52
[predictor] Removed the buffer from the context struct, allocate the input slice buffer on creation with make. file: [b8ee77a9c4] check-in: [723ffeb1fd] user: spaskalev, branch: trunk, size: 4901 [annotate] [blame] [check-ins using] [diff]
2014-12-19
21:54
Implemented commands/pdc using predictor. Made predictor's Compressor(...) return an io.Writer. file: [c65cc5c256] check-in: [c9f3a59cb6] user: spaskalev, branch: trunk, size: 4922 [annotate] [blame] [check-ins using] [diff]
2014-12-16
23:29
Removed err variable from compressor file: [2cc1907fb9] check-in: [0f4bc650d1] user: spaskalev, branch: trunk, size: 4534 [annotate] [blame] [check-ins using] [diff]
22:56
Reworked the compressor's buffering code, switched to table testing, add step testing for the compressor. Code coverage at 88.3% file: [2d1c692ccb] check-in: [1847f77062] user: spaskalev, branch: trunk, size: 4533 [annotate] [blame] [check-ins using] [diff]
16:04
Removed goto from predictor's compressor, added more tests that invoke both compress/decompress file: [0cc123a3c6] check-in: [10013ae789] user: spaskalev, branch: trunk, size: 4573 [annotate] [blame] [check-ins using] [diff]
04:03
Fixed issues with both compressor and decompressor, added more tests file: [f0ba5a860c] check-in: [b838653282] user: spaskalev, branch: trunk, size: 4646 [annotate] [blame] [check-ins using] [diff]
01:55
Added hamming weight lookup table for bytes in package bits. Added a PoC predictor decompressor implementation file: [380067e183] check-in: [60ca5b4b7b] user: spaskalev, branch: trunk, size: 4353 [annotate] [blame] [check-ins using] [diff]
2014-12-15
21:22
Added: Added diff.D struct; Added an RFC1978 Predictor compressor implementation and a test file: [d4a72555aa] check-in: [67794bdf14] user: spaskalev, branch: trunk, size: 2537 [annotate] [blame] [check-ins using]