History of file src/0dev.org/predictor/predictor.go at check-in 50507bd510ea785b
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] | |