Top 23 C++ Compression Projects
-
Just compress it! Of course if you will you ZIP, players will able to just open this zip file and change whatever they want. But you can use less popular compression algorithms which are not supported by default Windows File Explorer. Snappy for example.
-
draco
Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.
No direct DOM access is a bit of a pain, you're definitely not going to write your whole app in WASM anytime soon - it makes for decently good modules though, for example the Draco 3D geometry library provides a nice and clean WASM encoder/decoder module.
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
Project mention: Too bad this isn’t digitized. Would totally hoard it! | reddit.com/r/DataHoarder | 2021-10-11
We also use https://github.com/dropbox/lepton to save disk storage. It give 20% saving in our experience.
-
Project mention: Algoritm to simplify geometric data similar to texture bitmapping | reddit.com/r/GraphicsProgramming | 2021-12-14
I've used the "Simplification" operation of meshoptimizer to simplify 3D model geometry: https://github.com/zeux/meshoptimizer
-
Project mention: Bolt: Faster matrix and vector operations that run on compressed data | reddit.com/r/patient_hackernews | 2022-06-18
-
caesium-image-compressor
Caesium is an image compression software that helps you store, send and share digital pictures, supporting JPG, PNG and WebP formats. You can quickly reduce the file size (and resolution, if you want) by preserving the overall quality of the image.
Project mention: Looking for OFFLINE PNG/JPEG compressor software for Win10. | reddit.com/r/software | 2022-05-14Caesium Image Compressor can do the job and it is easy to use. There is also imagemagick which is basically the swiss-knife for image editing, but based on you having looked for websites first, I assume you don't look for a commandline tool (imagemagick is a commandline tool).
-
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
Yep. That lib is great. And, similarly https://github.com/nfrechette/acl and https://github.com/BinomialLLC/basis_universal
-
compressonator
Tool suite for Texture and 3D Model Compression, Optimization and Analysis using CPUs, GPUs and APUs
Project mention: What modding tools are available for Linux? (Ubuntu/Debian) | reddit.com/r/linux_gaming | 2022-06-10DynDOLOD will run but will not be able to compress any of its textures. You will need an external tool for that. ROCm's compressonator seems to work just fine for BC7, just need a bit of fiddling
-
-
LZHAM
Lossless data compression codec with LZMA-like ratios but 1.5x-8x faster decompression speed, C/C++
-
Project mention: Looking for real name of technology; software defined files / folders | reddit.com/r/linuxquestions | 2022-02-28
-
PGM-index
🏅State-of-the-art learned data structure that enables fast lookup, predecessor, range searches and updates in arrays of billions of items using orders of magnitude less space than traditional indexes
Manticore Columnar Library uses Piecewise Geometric Model index, which exploits a learned mapping between the indexed keys and their location in memory. The succinctness of this mapping, coupled with a peculiar recursive construction algorithm, makes the PGM-index a data structure that dominates traditional indexes by orders of magnitude in space while still offering the best query and update time performance.
-
Project mention: How can Spotify’s search by lyrics feature be so ridiculously fast? | reddit.com/r/computerscience | 2022-04-15
You then build an index from words to documents: for each word, you keep the set of documents that contain the word. One way to do this is to number the documents, so your word-to-document index is really a boolean array (less than 40 million boolean array in case of spotify). You may think it is too large, but compressed bitmaps are a thing, with multiple approaches.
-
GDCM
Grassroots DICOM read-only mirror. Only for Pull Request. Please report bug at http://sf.net/p/gdcm
-
-
-
Project mention: Most downloads of the entire Wikipedia per country | news.ycombinator.com | 2022-03-22
I'm doing my part o7
It's seriously a very interesting and useful dataset that you can do a lot of fun stuff with, if you grab one of the zims without pictures it's of very manageable size too of just a few dozen gigabytes compressed, and there are reasonably good library support in many languages.
Last point doesn't go for Java. Only one I could find for that was this <https://github.com/openzim/libzim>, it's antique and extremely poorly optimized and lacks support for newer compression schemes. I have fixed the performance and added support for zstd compression, but not published the code as it's extremely not finished and major features in the original codebase are very broken. I'll get around to sharing the code some day but right now it's basically permanently mid surgery as I've only patched so far as to get it to extract all or specific files. If anyone wants a copy of this code regardless of state, give me a holler.
-
Project mention: DeskX: Light and fast program for remote control of a computer. | reddit.com/r/coolgithubprojects | 2022-01-25
-
Project mention: Is there an adaptation of the original 7z library for Linux? | reddit.com/r/linux | 2022-01-03
Java wrapper for 7-Zip C++ library: https://github.com/borisbrodski/sevenzipjbinding
-
-
-
Huffman-Coding
A C++ compression program based on Huffman's lossless compression algorithm and decoder.
C++ Compression related posts
- Bolt: Faster matrix and vector operations that run on compressed data
- Bolt: Faster matrix and vector operations that run on compressed data
- 10x faster matrix and vector operations
- Is there any research as to what's the best way to compress each file type?
- ELI5: How exactly does winrar profit without a major loss with their current business plan?
- Looking for real name of technology; software defined files / folders
- q_compress 0.7: still has 35% higher compression ratio than .zstd.parquet for numerical sequences, now with delta encoding and 2x faster than before
Index
What are some of the best open-source Compression projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Snappy | 5,249 |
2 | draco | 5,030 |
3 | lepton | 4,966 |
4 | meshoptimizer | 3,317 |
5 | bolt | 2,197 |
6 | caesium-image-compressor | 1,076 |
7 | dandere2x | 1,071 |
8 | acl | 958 |
9 | compressonator | 920 |
10 | Bareos | 767 |
11 | LZHAM | 626 |
12 | dwarfs | 607 |
13 | PGM-index | 604 |
14 | EWAHBoolArray | 416 |
15 | GDCM | 285 |
16 | CIDLib | 199 |
17 | grok | 134 |
18 | libzim | 117 |
19 | DeskX | 115 |
20 | sevenzipjbinding | 98 |
21 | PhysicsFS | 78 |
22 | gpr | 70 |
23 | Huffman-Coding | 68 |
Are you hiring? Post a new remote job listing for free.