Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
| * | Implemented connect_with which includes all the slicing functions, which now ↵ | Sebastian Thiel | 2010-10-18 | 1 | -89/+118 | |
| | | | | | | | | operate on the delta stream data directly, its yet to be tested though, and I am afraid of this | |||||
| * | Worked my way up to re-encoding delta chunks, connect_with method still ↵ | Sebastian Thiel | 2010-10-18 | 1 | -66/+243 | |
| | | | | | | | | needs some work, intermediate commit | |||||
| * | Brutally made code compile, most of the major functions are still commented ↵ | Sebastian Thiel | 2010-10-17 | 1 | -182/+142 | |
| | | | | | | | | out, but it should just be a matter of time until its back and working | |||||
| * | Intermediate commit, working my way through the code, step by step. Didn't ↵ | Sebastian Thiel | 2010-10-15 | 2 | -52/+144 | |
| | | | | | | | | even try to compile it yet | |||||
| * | First adjustment to prepare the algorithm to work on deltastreams directly, ↵ | Sebastian Thiel | 2010-10-15 | 1 | -236/+93 | |
|/ | | | | without an intermediate conversion into far-too-large DeltaChunks. The new style just uses a single index, using one-fourth of the memory | |||||
* | Updated draft with latest data, finished it by defining future ways to ↵ | Sebastian Thiel | 2010-10-15 | 1 | -8/+6 | |
| | | | | improve the algorithm | |||||
* | Merge branch 'memcpy' | Sebastian Thiel | 2010-10-14 | 1 | -60/+129 | |
|\ | ||||||
| * | removed some debug code | Sebastian Thiel | 2010-10-14 | 1 | -5/+4 | |
| | | ||||||
| * | Fixed tiny little bug that would cause our own chunk to be overridden before ↵ | Sebastian Thiel | 2010-10-14 | 1 | -5/+6 | |
| | | | | | | | | we make one last computation with its unaltered values | |||||
| * | Implemented simple pre-pass to count offsets to help calculate where each ↵ | Sebastian Thiel | 2010-10-14 | 1 | -60/+129 | |
|/ | | | | chunk is going to be. This way, memmove becomes memcpy, and only one grow is required | |||||
* | Added initial version of a document to show possible ways to stream delta ↵ | Sebastian Thiel | 2010-10-14 | 3 | -0/+105 | |
| | | | | data most efficiently | |||||
* | Added new stream type which will request its size from its stream. This ↵ | Sebastian Thiel | 2010-10-13 | 2 | -6/+19 | |
| | | | | triggers full decompression, currently, but allows work to be delayed even further.If people want a stream, they usually read it anyway. Then it doesn't matter which attriubute they query first | |||||
* | Merge branch 'performance' | Sebastian Thiel | 2010-10-13 | 8 | -106/+1071 | |
|\ | ||||||
| * | Integrated new algorithm into the stream class, it will now be chosen ↵ | Sebastian Thiel | 2010-10-13 | 2 | -23/+33 | |
| | | | | | | | | depending on the context to figure out which one to use. For some reason, the c version that is slow for big files really rocks when its about small files. Its better than the respective c implementation of the normal delta apply | |||||
| * | apply_delta now has a C implementation, which is only 25 percent faster for ↵ | Sebastian Thiel | 2010-10-13 | 3 | -9/+81 | |
| | | | | | | | | small files ( the overhead of all the rest is very high ), but 4 times faster for large files, where the enormous call overhead coming in with python really starts to show | |||||
| * | Disabled new implementation in favor of the old one - all that's needed is a ↵ | Sebastian Thiel | 2010-10-13 | 2 | -2/+6 | |
| | | | | | | | | c implementation of apply delta data | |||||
| * | Reverse Delta Application was a nice experiment, as it has one major flaw: ↵ | Sebastian Thiel | 2010-10-13 | 2 | -4/+8 | |
| | | | | | | | | Currently it integrates chunks from its base into the topmost delta chunk list, which causes plenty of mem-move operations. Plenty means, many many many, and its getting worse the more deltas you have of course. The algorithm was supposed to reduce the amount of memory activity, but failed at this point, making it worse than before. Probably it would just be fastest to implement the previous python algorithm, which swaps two buffers, in c | |||||
| * | Now building a single module called _perf which contains all the performance ↵ | Sebastian Thiel | 2010-10-13 | 5 | -31/+12 | |
| | | | | | | | | enhancements, which increases loadtimes, less is more | |||||
| * | Put delta-apply code into separate function. Would have preferred to to have ↵ | Sebastian Thiel | 2010-10-13 | 5 | -887/+911 | |
| | | | | | | | | just one dynamic module, lets see whether includes are possible | |||||
| * | Fixed memory bug, it was a small tiny thing, as well as stupid. | Sebastian Thiel | 2010-10-13 | 1 | -8/+7 | |
| | | ||||||
| * | implemented memory compression, but got evil memory bug once again ... ↵ | Sebastian Thiel | 2010-10-13 | 1 | -8/+56 | |
| | | | | | | | | probably its just as stupid as previously | |||||
| * | optimized reallocation count, which improves speed a little bit. Previously ↵ | Sebastian Thiel | 2010-10-13 | 1 | -22/+15 | |
| | | | | | | | | it would easily get into the habbit of reallocating the vector just to add a single item | |||||
| * | Fixed integrity check function, finalized code, so far it is working, and ↵ | Sebastian Thiel | 2010-10-13 | 1 | -7/+65 | |
| | | | | | | | | its very efficient as well as the amount of data-copies is minimized | |||||
| * | Fixed terrible bug, which happened due to a change of the size of the ↵ | Sebastian Thiel | 2010-10-13 | 1 | -5/+7 | |
| | | | | | | | | vector, but too early actually, so a memmove would use incorrect values | |||||
| * | Currently there is a weird memory bug, valgrind says it is writing one byte ↵ | Sebastian Thiel | 2010-10-12 | 1 | -33/+82 | |
| | | | | | | | | too much. Perhaps its because of the use of PyMem | |||||
| * | Improved performance of python implementation by 10 percent, just by ↵ | Sebastian Thiel | 2010-10-12 | 1 | -65/+17 | |
| | | | | | | | | removing function calls and object creations | |||||
| * | Implemented everything about the merging of the bases into the topmost delta ↵ | Sebastian Thiel | 2010-10-12 | 1 | -9/+101 | |
| | | | | | | | | list. Its not yet working, but at least its not crashing | |||||
| * | Enhanced memory handling within the delta-stream parsing method. Removed the ↵ | Sebastian Thiel | 2010-10-12 | 2 | -32/+60 | |
| | | | | | | | | base delta chunk vector, which was a reminder of old (python) times which are long gone | |||||
| * | prepared the slicing, as well as a few accompanying methods. There is still ↵ | Sebastian Thiel | 2010-10-12 | 1 | -28/+166 | |
| | | | | | | | | quite a lot functionality missing | |||||
| * | Now adding chunks to the vectors, next up is to implement the actual chunk ↵ | Sebastian Thiel | 2010-10-12 | 2 | -34/+71 | |
| | | | | | | | | merging | |||||
| * | Apparently, the most serious memory bugs are fixed for now, lets get back to ↵ | Sebastian Thiel | 2010-10-12 | 2 | -17/+57 | |
| | | | | | | | | the actual thing | |||||
| * | Wow, this was a lesson. My full hatred goes to python, and C, and everything ↵ | Sebastian Thiel | 2010-10-12 | 2 | -29/+34 | |
| | | | | | | | | ... cool if you control everything, but not cool if an Object_New call doesn't do anything for you - creating a new instance of an own type in python doesn't appear to be that easy after all, at least not if you want your initializers/new procs to be called | |||||
| * | Weird bug causes crash, its memory related of course. GDB tells me where, ↵ | Sebastian Thiel | 2010-10-12 | 2 | -27/+58 | |
| | | | | | | | | but the why is still a mystery | |||||
| * | DeltaChunkVector is now a separate structure. I wished I had c++, but ... ↵ | Sebastian Thiel | 2010-10-12 | 1 | -43/+83 | |
| | | | | | | | | its probably a good exercise | |||||
| * | Implemented a few more functions, but I realize the vector implementation ↵ | Sebastian Thiel | 2010-10-12 | 1 | -13/+64 | |
| | | | | | | | | actually wants to be in a separate structure | |||||
| * | Initial frame of the connect_delta method, which seems to do something. ↵ | Sebastian Thiel | 2010-10-11 | 4 | -3/+310 | |
|/ | | | | Debugging is hellish, you really have to use python exception to get information out of there, printf doesn't do anything for some reason | |||||
* | Merge branch 'reversedeltaaggregation' | Sebastian Thiel | 2010-10-11 | 3 | -108/+124 | |
|\ | ||||||
| * | Improved performance of delta_chunk_slice method a tiny bit, but it really ↵ | Sebastian Thiel | 2010-10-11 | 1 | -2/+2 | |
| | | | | | | | | needs to go to c | |||||
| * | Removed previous non-reverse delta-application functionality. Although it ↵ | Sebastian Thiel | 2010-10-11 | 2 | -111/+32 | |
| | | | | | | | | was slightly faster, this new version only needs a faster slicing, which consumes ridiculous amounts of time | |||||
| * | Removed debugging code | Sebastian Thiel | 2010-10-11 | 1 | -19/+2 | |
| | | ||||||
| * | Reverse delta aggregration appears to be working | Sebastian Thiel | 2010-10-11 | 2 | -50/+107 | |
| | | ||||||
| * | New Frame uses a distinct type to express the different mode of operation. ↵ | Sebastian Thiel | 2010-10-11 | 1 | -23/+62 | |
| | | | | | | | | This is clean enough to get going | |||||
| * | First frame to implement the actual data aggregation, but ... its probbaly ↵ | Sebastian Thiel | 2010-10-11 | 2 | -16/+32 | |
|/ | | | | going to change quite a lot again | |||||
* | Merge branch 'deltaaggregation' | Sebastian Thiel | 2010-10-11 | 7 | -14/+499 | |
|\ | ||||||
| * | Made heavliy called methods global, its brings a second, which is nearly 10 ↵ | Sebastian Thiel | 2010-10-11 | 1 | -75/+79 | |
| | | | | | | | | percent more performance just by eliminating two method calls | |||||
| * | First profiling run revealed that the copy function was a serious slowdown. ↵ | Sebastian Thiel | 2010-10-11 | 2 | -7/+9 | |
| | | | | | | | | Now its twice as fast compared to the previous version, but still about 8 times slower than the brute force approach | |||||
| * | Disabled delta-aggregation as it is reduces the throughput to 540KiB/s ↵ | Sebastian Thiel | 2010-10-10 | 2 | -7/+8 | |
| | | | | | | | | | | | | compared to 9.4MiB compared to the previous brute-force algorithm. Compression helps, but it would probably be more efficient if done right away, not as post-process. It might help to implement the reversed version of this algorithm, as initially intended, but currently the overhead is the actual application | |||||
| * | implemented binary tree search to get the closest deltachunk by offset | Sebastian Thiel | 2010-10-10 | 2 | -7/+13 | |
| | | ||||||
| * | Implemented add-chunk compression, which clearly reduces chain size, but ↵ | Sebastian Thiel | 2010-10-10 | 2 | -38/+61 | |
| | | | | | | | | might not really be worth it in python | |||||
| * | Forward Delta Application now appears to work | Sebastian Thiel | 2010-10-10 | 2 | -291/+146 | |
| | |