Git Product home page Git Product logo

bsdiff.net's People

Contributors

bgrainger avatar jzebedee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bsdiff.net's Issues

Why All file must be loaded in memory?

Usually I think in use delta patches when the original file is too big, but the patcher method require to the entire file be loaded in the memory instead accept stream as input, there's a reason for that?

BsDiffPatchChunked

Hi
First, congratulations for this c# port of bsdiff algorithm. It is very helpful for me, so I decide to share some code :)
I decide to write a wrapper to avoid problem with memory consumption on large files. The wrapper uses yours BinaryPatchUtility.cs (with just one modification) as basis but splits files in chunks and make diffs over them, then combine all chunks in single patch file. Because of slow diff generation on large files (over 1Gb) wrapper has feature to make diffs on chunks in parallel mode. When applying patch, wrapper reads chunk diffs and make new file from them.
Wrapper and demo source code.BsDiffPatchChunked.zip

Best,
Tenyo Tyankov

System.StackOverflowException

Hi,
Thanks for sharing your work.
I created a patch for a 170MB exe file. (I used IDA for that).
I am trying your C# code generate a diff to try to duplicate the patch.
While running the BsDiff I receive an overflow error in:
private static void Split(int[] I, int[] v, int start, int len, int h)

System.StackOverflowException
HResult=0x800703E9
Message=Exception of type 'System.StackOverflowException' was thrown.

Can it handle 170MB files?

Thanks

Dependency on LogosBible.Utility

The BZip2InputStream from ICSharpCode.SharpZipLib.BZip2 has a property named "IsStreamOwner" that makes WrappingStream redundant.

In the interests of reducing external dependencies, I think it would be a good change to remove the LogosBible.Utility reference and just set "IsStreamOwner" to false in the Bzip2InputStream initializer.


Description from the ICSharpCode documentation (http://bit.ly/1nex97g):

bool    IsStreamOwner [get, set]
    Get/set flag indicating ownership of underlying stream. When the flag is true Close will close the underlying stream also. 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.