GithubHelp home page GithubHelp logo

hdiffpatch's Introduction

HDiffPatch

Version 1.1.3
byte data Diff & Patch C\C++ library.


uses:

  • create_diff(newData,oldData,out diffData);

    release the diffData for update oldData.
    (using LZMA or ZIP compress the diffData before release is a better option. )

  • bool patch(out newData,oldData,diffData);

    ok , get the newData.


  • HPatch runs in O(oldSize+newSize) time , and requires oldSize+newSize+O(1) bytes of memory. (oldSize and newSize <2^63 Byte)
    notice: if use patch_stream(), min requires O(1) bytes of memory.

    HDiff runs in O(oldSize+newSize) time , and if oldSize < 2G Byte then requires oldSize*5+newSize+O(1) bytes of memory; if oldSize >= 2G Byte then requires oldSize*9+newSize+O(1) bytes of memory.

=== HDiff1.0.0 vs BSDiff4.3 :
system: Windows7-x64 , CPU: i7 2.3G , Memroy: 6G DDR3 1600MHz

===================================================================================================================
         Program               Uncompressed Compressed Compressed BSDiff-4.3-x64 HDiff-1.0-x64    HDiff     HDiff
(newVersion<--oldVersion)           (tar)     (bzip2)    (LZMA)       (bzip2)   (Uncompressed)   (bzip2)    (LZMA)
-------------------------------------------------------------------------------------------------------------------
apache-maven-2.2.1-src <--2.0.11    5150720   1213258    1175464       115723        312852      105941       93996
httpd_2.4.4-netware-bin <--2.2.24  22612480   4035904    3459747      2192308       4154954     1961079     1765089
httpd-2.4.4-src <-- 2.2.24         31809536   4775534    4141266      2492534       4893630     2146854     1931397
Firefox-21.0-mac-en-US.app<--20.0  98740736  39731352   33027837     16454403      26000512    16017001    14637920
emacs-24.3 <-- 23.4               185528320  42044895   33707445     12892536      25236398    11139071     9790479
eclipse-java-juno-SR2-macosx
  -cocoa-x86_64 <--x86_32         178595840 156054144  151542885      1595465       1650702     1591549     1569777
gcc-src-4.8.0 <--4.7.0            552775680  86438193   64532384     11759496      26538554     9961692     8668268
-------------------------------------------------------------------------------------------------------------------
Average Compression                 100.00%    31.76%     28.47%        6.63%        12.21%       6.06%       5.46%
===================================================================================================================

======================================================
   Program     I/O+run time(second)   run memory(MB)
                 BSDiff  HDiff         BSDiff  HDiff
------------------------------------------------------
apache-maven...     2.1    0.5           42      29
httpd bin...       13.3    3.9          151     111
httpd src...       32.3    6.6          330     221
Firefox...        137     63            849     579
emacs...          203     47           1466    1026
eclipse           253    108           1575    1051
gcc-src...        678    111           4639    3119
------------------------------------------------------
                394.62%  100%        145.47%   100%
======================================================

by [email protected]

hdiffpatch's People

Contributors

jayxon avatar sisong avatar wenhailin avatar

Watchers

 avatar  avatar

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.