{"id":13731521,"url":"https://github.com/gildor2/fast_zlib","last_synced_at":"2025-04-30T18:30:50.118Z","repository":{"id":21266187,"uuid":"24581866","full_name":"gildor2/fast_zlib","owner":"gildor2","description":"Heavily optimized zlib compression algorithm","archived":false,"fork":false,"pushed_at":"2022-10-14T09:00:25.000Z","size":201,"stargazers_count":133,"open_issues_count":0,"forks_count":21,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-11-01T03:12:15.483Z","etag":null,"topics":["algorithm","c","compression","cross-plattform","deflate","optimization","x86-assembly","zlib"],"latest_commit_sha":null,"homepage":"http://www.gildor.org/en/projects/zlib","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gildor2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-29T06:02:36.000Z","updated_at":"2024-08-23T17:52:25.000Z","dependencies_parsed_at":"2023-01-11T21:08:38.996Z","dependency_job_id":null,"html_url":"https://github.com/gildor2/fast_zlib","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gildor2%2Ffast_zlib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gildor2%2Ffast_zlib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gildor2%2Ffast_zlib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gildor2%2Ffast_zlib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gildor2","download_url":"https://codeload.github.com/gildor2/fast_zlib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224219671,"owners_count":17275477,"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":["algorithm","c","compression","cross-plattform","deflate","optimization","x86-assembly","zlib"],"created_at":"2024-08-03T02:01:31.917Z","updated_at":"2024-11-12T05:07:19.090Z","avatar_url":"https://github.com/gildor2.png","language":"C","readme":"Optimized version of longest_match for zlib\n===========================================\n\nSummary\n-------\n\nFast zlib longest_match function. Produces slightly smaller compressed files for significantly faster time.\nFor more details and updates please visit [this page](http://www.gildor.org/en/projects/zlib).\nBrief algorithm description is available on [the home page](http://www.gildor.org/en/projects/zlib)\nof the project.\n\nSource code repository is located [on Github](https://github.com/gildor2/fast_zlib). [Wiki page](https://github.com/gildor2/fast_zlib/wiki)\ncontains some additional notes and test results.\n\nYou may get precompiled binaries for Windows platform at [this location](https://github.com/gildor2/fast_zlib/releases)\n\n\nBuild instructions\n------------------\n\nThis library consists of 2 versions: C and assembly.\n\n### Building C version\n\nYou should replace longest_match() function in deflate.c with one located in Sources/match.h. One of possible ways\nis to making a file with contents looking like\n\n\t#define ASMV\n\t#include \"deflate.c\"\n\n\t#undef local\n\t#define local\n\n\t#include \"match.h\"\n\n\tvoid match_init()\n\t{\n\t}\n\nand linking zlib with this file instead of deflate.c.\n\n#### Zlib 1.2.13 or newer\n\nNote: since zlib 1.2.13 (October 2022), ASMV option has been removed from zlib source, therefore there's no possibility to replace longest_match\nfunction without patching the original source code. So, you'll need to apply patch to the zlib source code in order to make things buildable. You\nmay find the patch in Sources/zlib_1.2.13.patch.\n\n\n### Building a 32-bit assembly version\n\nThis version is compatible only with x86 platform. To build a matcher, please start with obtaining the copy of the\n[Netwide Assembler](http://www.nasm.us/)\n\nFor use with the Microsoft Visual Studio compile it with the following command line:\n\n    nasm match32.asm -f win32 -o match.obj\n\nFor the Watcom C use this:\n\n    nasm match32.asm -f obj -o match.obj -D OMF_FORMAT\n\nFor Linux use this command line:\n\n    nasm match32.asm -f elf32 -o match.o\n\nRunning tests\n-------------\n\nThe library goes with built-in test application. Some information about its features could be found on [wiki page](https://github.com/gildor2/fast_zlib/wiki).\n\nOn Unix platforms (those which has bash and perl out-of-the-box) you may simply run build.sh script located at the root directory\nof the project. This will build several versions of the test application and put them to obj/bin. There's a script which will run\ntests in automated mode, test.sh. Run `test.sh --help` to see available options. By default it will run several predefined tests\nfor data locations from my own PC. If you'll need to change locations, just modify several bottom lined in the script (see `DoTests \u003cdirectory\u003e`).\n\nFor Windows platform, you'll need bash and perl to be installed and available via PATH environment variable. This could be achieved by\ninstalling [Gygwin](https://www.cygwin.com/) or [MSYS](http://www.mingw.org/wiki/MSYS) projects to your computer. You may also get a set\nof required binaries [here](https://github.com/gildor2/UModel/releases) (you'll need `BuildTools.zip`).\n\n\nLicense\n-------\n\nThis library is licensed under the [BSD license](LICENSE.txt).\n","funding_links":[],"categories":["Compression","压缩","Maths"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgildor2%2Ffast_zlib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgildor2%2Ffast_zlib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgildor2%2Ffast_zlib/lists"}