cargo-cabal VS upx

Compare cargo-cabal vs upx and see what are their differences.


A tool that helps you to turn in one command a Rust crate into a Haskell Cabal library! (by yvan-sraka)


UPX - the Ultimate Packer for eXecutables (by upx)
Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • SonarLint - Clean code begins in your IDE with SonarLint
  • SaaSHub - Software Alternatives and Reviews
cargo-cabal upx
1 22
56 11,566
- 1.8%
10.0 1.3
13 days ago 7 days ago
Rust C++
Apache License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of cargo-cabal. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-24.


Posts with mentions or reviews of upx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-26.
  • REST API in RUST with ntex
    7 projects | | 26 May 2023
    This will optimise the release binary to be as small as possible. Additionally with upx we can create really small docker image !
  • help packing sound in <4k
    6 projects | /r/Demoscene | 12 May 2023
    Then I compressed it with upx, cp small.exe smallUpx.exe && upx --brute smallUpx.exe, got a 10752 bytes executable, half the size, but still pretty large
  • Go is creating huge executables for the simplest of programs.
    4 projects | /r/golang | 22 Apr 2023
    You can try to a compress an output binary using
  • Kotlin CLI apps development status
    7 projects | /r/Kotlin | 21 Feb 2023
    By default, it produced a binary that is 24MB. I ran UPX on that and it generated a binary that is 6MB.
  • Haskell adoption is higher than I expected, what can we do to get it to top 10 languages.
    6 projects | /r/haskell | 24 Oct 2022
    It depends on the platform, I think. E.g. DLL compression is supported on Windows. On Linux it seems like .so compression may be supported with some limitations - I see various tickets about it like and which are describing problems but also showing that it's possible.
  • Show HN: Micro LZMA decoder (x86 assembly code golf)
    6 projects | | 6 Jun 2022
    I looked at the latest version of UPX, they began to use LZMA, if this is considered an LZMA decoder:

    Then it takes ~2500 bytes, mine is ~500 (static version). But the decompression speed for larger code should be higher, as I noticed.

  • Exactly my bro out there
    16 projects | /r/ProgrammerHumor | 20 May 2022
  • GraalVM 22.1: Developer experience improvements, Apple Silicon builds, and more
    10 projects | | 26 Apr 2022
    UPX doesn't play nice with antivirus software if it's important for you to run on Windows (at least).

  • I need some helpers!
    2 projects | /r/Picocrypt | 28 May 2021
    sudo rm -rf Picocrypt-Builder && mkdir Picocrypt-Builder && cd Picocrypt-Builder && sudo apt-get install -y gcc make curl git tar wget xz-utils libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libgl1-mesa-dev libxxf86vm-dev libgtk-3-dev xdg-utils && sudo apt-get install -y libglx-dev || echo "Skipping libglx..." && sudo apt-get install -y xclip || sudo apt-get install xsel && wget && sudo tar -C /usr/local -xzf go1.16.4.linux-amd64.tar.gz && export PATH=$PATH:/usr/local/go/bin && go get -u -v && go get -u -v && go get -u -v && go get -u -v && go get -u -v && go get -u -v && go get -u -v && go get -u -v && go get -u -v && go get -u -v && go get -u -v && go get -u -v && go mod init Picocrypt && wget && go mod tidy && go build --ldflags="-s -w" Picocrypt.go && wget && tar xf upx-3.96-amd64_linux.tar.xz && mv Picocrypt upx-3.96-amd64_linux && cd upx-3.96-amd64_linux && ./upx --best --lzma -9 -o Picocrypt-UPX Picocrypt && mv Picocrypt-UPX ../ && cd ../ && mv -v Picocrypt-UPX Picocrypt && mv Picocrypt ../ && cd ../ && sudo rm -rf Picocrypt-Builder && echo "Build complete! You can now run the file 'Picocrypt' in this directory with './Picocrypt' or by double clicking it in your file manager. Enjoy!"
  • 4MB Jam - You have a month to make a game that fits into 4 Megabytes! (No theme)
    6 projects | /r/gamedev | 23 May 2021
    I have been working on a game using Rust, SDL2 and Legion. I statically link SDL2, which mean that only the parts that I actually use gets included. Also i have been using the include_bytes to include my assets. This creates a single executable that is around 3mb (this is without compiler optimizing for size, it could go lower at the cost of runtime speed). Running (upx) on it, it comes out to about 900kb.

What are some alternatives?

When comparing cargo-cabal and upx you can also consider the following projects:

rust-sdl2 - SDL2 bindings for Rust

rust - Empowering everyone to build reliable and efficient software.

legion - High performance Rust ECS library

Lean and Mean Docker containers - Slim(toolkit): Don't change anything in your container image and minify it by up to 30x (and for compiled languages even more) making it secure too! (free and open source)

distroless - 🥑 Language focused docker images, minus the operating system.

fpm - Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.

ovh-ipxe-customer-script - Boot OVH server with your own iPXE script

au - Debian package builder for ruby apps

routez - Http server for Zig

Vcpkg - C++ Library Manager for Windows, Linux, and MacOS

clj-kondo - Static analyzer and linter for Clojure code that sparks joy

image-spec - OCI Image Format