{"id":18084509,"url":"https://github.com/endel/fossildelta","last_synced_at":"2025-04-12T20:08:33.844Z","repository":{"id":137832910,"uuid":"69189740","full_name":"endel/FossilDelta","owner":"endel","description":"An efficient delta compression algorithm written in C#","archived":false,"fork":false,"pushed_at":"2020-02-22T20:12:33.000Z","size":83,"stargazers_count":112,"open_issues_count":3,"forks_count":13,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-12T20:07:56.049Z","etag":null,"topics":["compression","delta","fossil-scm"],"latest_commit_sha":null,"homepage":"https://www.fossil-scm.org/index.html/doc/trunk/www/delta_format.wiki","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/endel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-25T20:47:37.000Z","updated_at":"2024-11-30T11:17:17.000Z","dependencies_parsed_at":"2023-04-17T05:36:27.283Z","dependency_job_id":null,"html_url":"https://github.com/endel/FossilDelta","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endel%2FFossilDelta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endel%2FFossilDelta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endel%2FFossilDelta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/endel%2FFossilDelta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/endel","download_url":"https://codeload.github.com/endel/FossilDelta/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625493,"owners_count":21135513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compression","delta","fossil-scm"],"created_at":"2024-10-31T15:07:02.602Z","updated_at":"2025-04-12T20:08:33.798Z","avatar_url":"https://github.com/endel.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"Delta compression algorithm for C#\n===\n\n[![Build Status](https://secure.travis-ci.org/endel/FossilDelta.svg?branch=master)](https://travis-ci.org/endel/FossilDelta)\n\n\u003e This is a port from the original C implementation. See references below.\n\nFossil achieves efficient storage and low-bandwidth synchronization through the\nuse of delta-compression. Instead of storing or transmitting the complete\ncontent of an artifact, fossil stores or transmits only the changes relative to\na related artifact.\n\n* [Format](http://www.fossil-scm.org/index.html/doc/tip/www/delta_format.wiki)\n* [Algorithm](http://www.fossil-scm.org/index.html/doc/tip/www/delta_encoder_algorithm.wiki)\n* [Original implementation](http://www.fossil-scm.org/index.html/artifact/f3002e96cc35f37b)\n\nOther implementations:\n\n- [Haxe](https://github.com/endel/fossil-delta-hx)\n- [Python](https://github.com/ggicci/python-fossil-delta)\n- [JavaScript](https://github.com/dchest/fossil-delta-js) ([Online demo](https://dchest.github.io/fossil-delta-js/))\n\nInstallation\n---\n\n### NuGet Gallery\n\nFossilDelta is available on the [NuGet Gallery](https://www.nuget.org/packages).\n\n- [NuGet Gallery: FossilDelta](https://www.nuget.org/packages/FossilDelta)\n\nYou can add FossilDelta to your project with the **NuGet Package Manager**, by using the following command in the **Package Manager Console**.\n\n    PM\u003e Install-Package FossilDelta\n\nUsage\n---\n\n### Fossil.Delta.Create(byte[] origin, byte[] target)\n\nReturns the difference between `origin` and `target` as a byte array (`byte[]`)\n\n### Fossil.Delta.Apply(byte[] origin, byte[] delta)\n\nApply the `delta` patch on `origin`, returning the final value as byte array\n(`byte[]`).\n\nThrows an error if it fails to apply the delta\n(e.g. if it was corrupted).\n\n### Fossil.Delta.OutputSize(byte[] delta)\n\nReturns a size of target for this delta.\n\nThrows an error if it can't read the size from delta.\n\nBenchmark\n---\n\n[See the inputs used for benchmarking](Tests/data). Run the benchmarks\nlocally using the `make benchmark` in your commandline.\n\n**Results:**\n\n```\n       Method |           Mean |        StdErr |         StdDev |         Median |\n------------- |--------------- |-------------- |--------------- |--------------- |\n CreateDelta1 |  5,426.4132 ns |   787.5304 ns |  6,201.0206 ns |  4,286.4851 ns |\n CreateDelta2 | 21,837.1107 ns | 1,661.4695 ns | 13,900.8509 ns | 25,942.1491 ns |\n CreateDelta3 | 11,697.2018 ns | 1,213.1634 ns | 12,607.5636 ns |  9,260.4452 ns |\n CreateDelta4 |    253.4085 ns |    25.1048 ns |    214.4952 ns |    252.6454 ns |\n CreateDelta5 |    150.4963 ns |    29.0635 ns |    311.6718 ns |      0.0000 ns |\n  ApplyDelta1 |  3,547.0234 ns |   493.4131 ns |  4,357.7065 ns |  3,086.8397 ns |\n  ApplyDelta2 | 20,336.7691 ns | 2,488.0257 ns | 27,254.9560 ns |  9,233.5811 ns |\n  ApplyDelta3 |  1,441.5354 ns |   209.2071 ns |  1,995.7090 ns |    855.9650 ns |\n  ApplyDelta4 |    252.5743 ns |    29.7323 ns |    234.1123 ns |    236.0480 ns |\n  ApplyDelta5 |     68.5550 ns |     9.2923 ns |     92.4574 ns |     39.0918 ns |\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fendel%2Ffossildelta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fendel%2Ffossildelta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fendel%2Ffossildelta/lists"}