Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Openrct2 | 11,893 | a day ago | 1,517 | gpl-3.0 | C++ | |||||
An open source re-implementation of RollerCoaster Tycoon 2 🎢 | ||||||||||
Openscenegraph | 2,747 | 5 | a month ago | 1 | April 16, 2020 | 124 | other | C++ | ||
OpenSceneGraph git repository | ||||||||||
Codelite | 1,906 | 13 hours ago | 103 | gpl-2.0 | C++ | |||||
A multi purpose IDE specialized in C/C++/Rust/Python/PHP and Node.js. Written in C++ | ||||||||||
Ios Cmake | 1,534 | 18 days ago | 21 | bsd-3-clause | CMake | |||||
A CMake toolchain file for iOS, macOS, watchOS & tvOS C/C++/Obj-C++ development | ||||||||||
Genie | 834 | a month ago | 91 | other | C | |||||
GENie - Project generator tool | ||||||||||
Polly | 788 | 2 years ago | 20 | bsd-2-clause | CMake | |||||
:wrench: Collection of CMake toolchain files and scripts for cross-platform build and CI testing (GCC, Visual Studio, iOS, Android, Clang analyzer, sanitizers etc.) | ||||||||||
Pokerstove | 694 | 9 months ago | 1 | March 03, 2021 | 12 | bsd-3-clause | C++ | |||
poker evaluation and enumeration software | ||||||||||
Hpl1engine | 661 | 2 months ago | 11 | gpl-3.0 | C++ | |||||
A real time 3D engine. | ||||||||||
Efficient Compression Tool | 436 | 6 days ago | 16 | apache-2.0 | C | |||||
Fast and effective C++ file optimizer | ||||||||||
Frut | 355 | 4 months ago | 27 | gpl-3.0 | CMake | |||||
Building JUCE projects using CMake made easy |
Efficient Compression Tool (or ECT) is a C++ file optimizer.
It supports PNG, JPEG, GZIP and ZIP files.
All tests were run on macOS 12.5 using an Intel i7-7700HQ and clang.
File: enwik8, 100,000,000 bytes, compressed into gzip format
Compressor | File Size | Time |
---|---|---|
ECT -1 | 36,493,257 | 3.5s |
gzip -9 | 36,475,811 | 5.8s |
zopfli -i1 | 35,102,371 | 1m 30.2s |
ECT -2 | 35,019,440 | 14.8s |
zopfli -i5 | 34,983,757 | 2m 12.0s |
ECT -3 | 35,014,543 | 16.2s |
zopfli -i15 | 34,966,078 | 3m 59.9s |
ECT -4 | 34,963,581 | 19.8s |
zopfli -i30 | 34,961,453 | 6m 30.6s |
ECT -5 | 34,942,796 | 25.1s |
ECT -6 | 34,943,943 | 41.9s |
ECT -7 | 34,942,348 | 59.7s |
ECT -8 | 34,941,125 | 2m 25.6s |
ECT -9 | 34,937,781 | 3m 17.9s |
To build ECT, you need to recursively clone it, just downloading isn’t enough, i. e. git clone --recursive https://github.com/fhanau/Efficient-Compression-Tool.git
You may also need to install nasm
if it is not available already.
ECT is built with cmake
mkdir build
cd build
cmake ../src
make
In addition, you can add the following arguments to the cmake call to turn various features on and off:
-DECT_MULTITHREADING=OFF
: Turn off multithreading supportYou can use cmake to generate an Xcode project. Just add -G Xcode
to the end of the cmake command:
mkdir build
cd build
cmake ../src -G Xcode
make
You will run into a slight issue in that Xcode doesn't know how to compile some of the asm files within mozjpeg. To fix this, locate your copy of nasm
(/usr/local/bin/nasm
in the example) navigate to the Build Rules of the simd
target, and add a custom rule to process source files matching *.asm
with the following script:
/usr/local/bin/nasm "-I${PROJECT_DIR}/mozjpeg" -DMACHO -D__x86_64__ "-I${PROJECT_DIR}/mozjpeg/simd/nasm/" "-I${PROJECT_DIR}/mozjpeg/simd/x86_64/" -f macho64 -o "${BUILT_PRODUCTS_DIR}/x86_64/${INPUT_FILE_BASE}.o" "${INPUT_FILE_PATH}"
and set $(BUILT_PRODUCTS_DIR)/x86_64/${INPUT_FILE_BASE}.o
as the output files.
If you are using Xcode for development and do not need maximum speed, you can also disable the asm files by adding -DWITH_SIMD=OFF
to the cmake.