Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Zlib
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Applications == Today, zlib is something of a ''[[de facto]]'' [[Standardization|standard]], to the point that zlib and DEFLATE are often used interchangeably in standards documents, with thousands of applications relying on it for compression, either directly or indirectly.<ref>{{Citation|title = zlib Applications|url = http://zlib.net/apps.html|date = 2002-04-18|first1 = Jean-loup|last1 = Gailly|first2 = Mark|last2 = Adler|access-date = 2007-12-09|archive-date = 2019-06-10|archive-url = https://web.archive.org/web/20190610212240/http://zlib.net/apps.html|url-status = live}}</ref> These include: * The [[Linux kernel]], where zlib is used to implement compressed network protocols, compressed [[file system]]s, and to decompress the kernel image at boot time. * [[GNU Binutils]] and [[GNU Debugger]] (GDB) * [[libpng]], the [[reference implementation]] for the [[PNG]] image format, which specifies DEFLATE as the stream compression for its [[bitmap]] data. * [[libwww]], an API for web applications like [[web browser]]s. * The [[Apache HTTP Server]], which uses zlib to implement [[HTTP compression|HTTP/1.1]]. * Similarly, the [[cURL]] library uses zlib to decompress HTTP responses.<ref>{{Cite web|url=https://stackoverflow.com/questions/26244134/why-does-curl-use-zlib|title=c++ - Why does cURL use zlib?|website=Stack Overflow}}</ref> * The [[OpenSSH]] client and server, which rely on zlib to perform the optional compression offered by the [[Secure Shell]] protocol. * The [[OpenSSL]] and [[GnuTLS]] security libraries, which can optionally use zlib to compress [[Transport Layer Security|TLS]] connections. * The [[FFmpeg]] multimedia library, which uses zlib to read and write the DEFLATE-compressed parts of [[Digital container format|stream formats]], such as [[Matroska]]. * The [[rsync]] remote file synchronizer, which uses zlib to implement optional protocol compression. * The [[dpkg]] and [[RPM Package Manager|RPM]] [[package manager]]s, which use zlib to unpack files from compressed software packages. * The [[Apache Subversion]] and [[Concurrent Versions System|CVS]] [[version control]] systems, which use zlib to compress traffic to and from remote repositories. * The [[Apache ORC]] column-oriented data storage format use ZLib as its default compression method.<ref>{{cite web | url=https://blog.cloudera.com/orcfile-in-hdp-2-better-compression-better-performance/ | title=ORCFile in HDP 2: Better Compression, Better Performance | date=6 September 2013 | access-date=16 May 2020 | archive-date=6 August 2020 | archive-url=https://web.archive.org/web/20200806094918/https://blog.cloudera.com/orcfile-in-hdp-2-better-compression-better-performance/ | url-status=live }}</ref> * The [[Git]] [[version control]] system uses zlib to store the contents of its data objects (blobs, trees, commits and tags). * The [[PostgreSQL]] [[Relational database#RDBMS|RDBMS]] uses zlib with custom dump format (pg_dump -Fc) for database backups. * The class System.IO.Compression.DeflateStream of the Microsoft [[.NET Framework]] 2.0 and higher.<ref>[http://msdn.microsoft.com/en-us/library/system.io.compression.deflatestream(v=vs.110).aspx System.IO.Compression.DeflateStream] {{Webarchive|url=https://web.archive.org/web/20160206034021/http://msdn.microsoft.com/en-us/library/system.io.compression.deflatestream(v=vs.110).aspx |date=2016-02-06 }}. MSDN Library.</ref> * The "deflate" utility in TORNADO as part of [[VxWorks]] Operating System made by [[Wind River Systems]] uses zlib to compress boot ROM images. * zlib-flate,<ref>{{man|1|zlib-flate|Debian}}</ref> raw zlib compression program, part of qpdf<ref>{{Cite web |url=https://packages.debian.org/sid/amd64/qpdf/filelist |title=qpdf |access-date=2021-03-28 |archive-date=2024-07-11 |archive-url=https://web.archive.org/web/20240711145517/https://packages.debian.org/sid/amd64/qpdf/filelist |url-status=live }}</ref> * The [[MySQL]] [[Relational database#RDBMS|RDBMS]] uses ZLib LZ77 for compression in [[InnoDB]] Tables <ref>{{Cite web|url=https://dev.mysql.com/doc/refman/8.0/en/innodb-compression-internals.html|title=MySQL :: MySQL 8.0 Reference Manual :: 15.9.1.5 How Compression Works for InnoDB Tables|website=dev.mysql.com|access-date=2021-07-14|archive-date=2021-08-01|archive-url=https://web.archive.org/web/20210801181906/https://dev.mysql.com/doc/refman/8.0/en/innodb-compression-internals.html|url-status=live}}</ref> <!-- Please do not add file formats to this list; it is for *software* relying on zlib. --> zlib is also used in many embedded devices, such as the Apple [[iPhone]] and Sony [[PlayStation 3]], because the code is portable, liberally licensed, and has a relatively small memory footprint. === Forks === A commonly used library built on an old codebase, zlib is also frequently [[Fork (software development)|forked]] by third-parties that claim improvements to this library: * [[Intel]] has a high-performance fork of zlib.<ref>{{cite web |title=github Intel ZLIB |url=https://github.com/intel/zlib |website=github |access-date=25 January 2024 |language=en |date=25 January 2024 |archive-date=25 January 2024 |archive-url=https://web.archive.org/web/20240125130250/https://github.com/intel/zlib |url-status=live }}</ref> * [[Cloudflare]] maintains a high-performance fork with "massive" improvements.<ref>{{cite web |title=Fighting Cancer: The Unexpected Benefit Of Open Sourcing Our Code |url=https://blog.cloudflare.com/cloudflare-fights-cancer/ |website=The Cloudflare Blog |language=en |date=8 July 2015 |access-date=18 January 2020 |archive-date=21 September 2019 |archive-url=https://web.archive.org/web/20190921164235/https://blog.cloudflare.com/cloudflare-fights-cancer/ |url-status=live }}</ref> * zlib-ng is a zlib replacement fork for "next generation" systems. It removes workaround code for compilers that do not support [[ANSI C]], integrates Cloudflare and Intel optimizations, adds [[hardware acceleration]] ([[SIMD]] and [[intrinsic function]]s), and uses [[code sanitizer]]s, [[fuzzing]], and [[code coverage]] to help find bugs.<ref>{{cite web |last1=Rosbach |first1=HK |title=zlib-ng/zlib-ng: zlib replacement with optimizations for "next generation" systems. |url=https://github.com/zlib-ng/zlib-ng |website=GitHub |publisher=zlib-ng |date=24 February 2023 |access-date=18 January 2020 |archive-date=20 April 2020 |archive-url=https://web.archive.org/web/20200420024701/https://github.com/zlib-ng/zlib-ng |url-status=live }}</ref>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Zlib
(section)
Add topic