Binary size measurements of wuffs genlib
libraries on x86_64 are below.
Lower is better.
clang11-dynamic:
-rwxr-xr-x 1 tao tao 322264 Jan 26 15:33 libwuffs.so
-rw-r--r-- 1 tao tao 5232 Jan 26 15:32 wuffs-base-core.lo
-rw-r--r-- 1 tao tao 26976 Jan 26 15:32 wuffs-base-floatconv.lo
-rw-r--r-- 1 tao tao 9312 Jan 26 15:32 wuffs-base-intconv.lo
-rw-r--r-- 1 tao tao 7920 Jan 26 15:33 wuffs-base-interfaces.lo
-rw-r--r-- 1 tao tao 3216 Jan 26 15:33 wuffs-base-magic.lo
-rw-r--r-- 1 tao tao 56192 Jan 26 15:33 wuffs-base-pixconv.lo
-rw-r--r-- 1 tao tao 3080 Jan 26 15:33 wuffs-base-utf8.lo
-rw-r--r-- 1 tao tao 4056 Jan 26 15:33 wuffs-std-adler32.lo
-rw-r--r-- 1 tao tao 28600 Jan 26 15:33 wuffs-std-bmp.lo
-rw-r--r-- 1 tao tao 17304 Jan 26 15:33 wuffs-std-bzip2.lo
-rw-r--r-- 1 tao tao 10168 Jan 26 15:33 wuffs-std-cbor.lo
-rw-r--r-- 1 tao tao 22336 Jan 26 15:33 wuffs-std-crc32.lo
-rw-r--r-- 1 tao tao 24816 Jan 26 15:33 wuffs-std-deflate.lo
-rw-r--r-- 1 tao tao 25088 Jan 26 15:33 wuffs-std-gif.lo
-rw-r--r-- 1 tao tao 7408 Jan 26 15:33 wuffs-std-gzip.lo
-rw-r--r-- 1 tao tao 20136 Jan 26 15:33 wuffs-std-json.lo
-rw-r--r-- 1 tao tao 6344 Jan 26 15:33 wuffs-std-lzw.lo
-rw-r--r-- 1 tao tao 9928 Jan 26 15:33 wuffs-std-nie.lo
-rw-r--r-- 1 tao tao 54760 Jan 26 15:33 wuffs-std-png.lo
-rw-r--r-- 1 tao tao 14552 Jan 26 15:33 wuffs-std-tga.lo
-rw-r--r-- 1 tao tao 9080 Jan 26 15:33 wuffs-std-wbmp.lo
-rw-r--r-- 1 tao tao 7224 Jan 26 15:33 wuffs-std-zlib.lo
clang11-static:
-rw-r--r-- 1 tao tao 398014 Jan 26 15:32 libwuffs.a
-rw-r--r-- 1 tao tao 5232 Jan 26 15:32 wuffs-base-core.o
-rw-r--r-- 1 tao tao 27136 Jan 26 15:32 wuffs-base-floatconv.o
-rw-r--r-- 1 tao tao 9912 Jan 26 15:32 wuffs-base-intconv.o
-rw-r--r-- 1 tao tao 7856 Jan 26 15:32 wuffs-base-interfaces.o
-rw-r--r-- 1 tao tao 3112 Jan 26 15:32 wuffs-base-magic.o
-rw-r--r-- 1 tao tao 59000 Jan 26 15:32 wuffs-base-pixconv.o
-rw-r--r-- 1 tao tao 3080 Jan 26 15:32 wuffs-base-utf8.o
-rw-r--r-- 1 tao tao 4088 Jan 26 15:32 wuffs-std-adler32.o
-rw-r--r-- 1 tao tao 29384 Jan 26 15:32 wuffs-std-bmp.o
-rw-r--r-- 1 tao tao 16784 Jan 26 15:32 wuffs-std-bzip2.o
-rw-r--r-- 1 tao tao 10304 Jan 26 15:32 wuffs-std-cbor.o
-rw-r--r-- 1 tao tao 23352 Jan 26 15:32 wuffs-std-crc32.o
-rw-r--r-- 1 tao tao 25344 Jan 26 15:32 wuffs-std-deflate.o
-rw-r--r-- 1 tao tao 25608 Jan 26 15:32 wuffs-std-gif.o
-rw-r--r-- 1 tao tao 7000 Jan 26 15:32 wuffs-std-gzip.o
-rw-r--r-- 1 tao tao 21000 Jan 26 15:32 wuffs-std-json.o
-rw-r--r-- 1 tao tao 6272 Jan 26 15:32 wuffs-std-lzw.o
-rw-r--r-- 1 tao tao 9840 Jan 26 15:32 wuffs-std-nie.o
-rw-r--r-- 1 tao tao 56560 Jan 26 15:32 wuffs-std-png.o
-rw-r--r-- 1 tao tao 14720 Jan 26 15:32 wuffs-std-tga.o
-rw-r--r-- 1 tao tao 8984 Jan 26 15:32 wuffs-std-wbmp.o
-rw-r--r-- 1 tao tao 7064 Jan 26 15:32 wuffs-std-zlib.o
gcc10-dynamic:
-rwxr-xr-x 1 tao tao 388712 Jan 26 15:33 libwuffs.so
-rw-r--r-- 1 tao tao 5632 Jan 26 15:33 wuffs-base-core.lo
-rw-r--r-- 1 tao tao 26904 Jan 26 15:33 wuffs-base-floatconv.lo
-rw-r--r-- 1 tao tao 8584 Jan 26 15:33 wuffs-base-intconv.lo
-rw-r--r-- 1 tao tao 7664 Jan 26 15:33 wuffs-base-interfaces.lo
-rw-r--r-- 1 tao tao 4448 Jan 26 15:33 wuffs-base-magic.lo
-rw-r--r-- 1 tao tao 109488 Jan 26 15:33 wuffs-base-pixconv.lo
-rw-r--r-- 1 tao tao 3248 Jan 26 15:33 wuffs-base-utf8.lo
-rw-r--r-- 1 tao tao 4624 Jan 26 15:33 wuffs-std-adler32.lo
-rw-r--r-- 1 tao tao 28984 Jan 26 15:33 wuffs-std-bmp.lo
-rw-r--r-- 1 tao tao 18920 Jan 26 15:33 wuffs-std-bzip2.lo
-rw-r--r-- 1 tao tao 10040 Jan 26 15:33 wuffs-std-cbor.lo
-rw-r--r-- 1 tao tao 23056 Jan 26 15:33 wuffs-std-crc32.lo
-rw-r--r-- 1 tao tao 24264 Jan 26 15:33 wuffs-std-deflate.lo
-rw-r--r-- 1 tao tao 29808 Jan 26 15:33 wuffs-std-gif.lo
-rw-r--r-- 1 tao tao 8328 Jan 26 15:33 wuffs-std-gzip.lo
-rw-r--r-- 1 tao tao 20128 Jan 26 15:33 wuffs-std-json.lo
-rw-r--r-- 1 tao tao 7128 Jan 26 15:33 wuffs-std-lzw.lo
-rw-r--r-- 1 tao tao 11960 Jan 26 15:33 wuffs-std-nie.lo
-rw-r--r-- 1 tao tao 68440 Jan 26 15:33 wuffs-std-png.lo
-rw-r--r-- 1 tao tao 15736 Jan 26 15:33 wuffs-std-tga.lo
-rw-r--r-- 1 tao tao 10440 Jan 26 15:33 wuffs-std-wbmp.lo
-rw-r--r-- 1 tao tao 7744 Jan 26 15:33 wuffs-std-zlib.lo
gcc10-static:
-rw-r--r-- 1 tao tao 480206 Jan 26 15:33 libwuffs.a
-rw-r--r-- 1 tao tao 5632 Jan 26 15:33 wuffs-base-core.o
-rw-r--r-- 1 tao tao 27008 Jan 26 15:33 wuffs-base-floatconv.o
-rw-r--r-- 1 tao tao 8768 Jan 26 15:33 wuffs-base-intconv.o
-rw-r--r-- 1 tao tao 7560 Jan 26 15:33 wuffs-base-interfaces.o
-rw-r--r-- 1 tao tao 4448 Jan 26 15:33 wuffs-base-magic.o
-rw-r--r-- 1 tao tao 109408 Jan 26 15:33 wuffs-base-pixconv.o
-rw-r--r-- 1 tao tao 3824 Jan 26 15:33 wuffs-base-utf8.o
-rw-r--r-- 1 tao tao 4680 Jan 26 15:33 wuffs-std-adler32.o
-rw-r--r-- 1 tao tao 29512 Jan 26 15:33 wuffs-std-bmp.o
-rw-r--r-- 1 tao tao 19000 Jan 26 15:33 wuffs-std-bzip2.o
-rw-r--r-- 1 tao tao 10400 Jan 26 15:33 wuffs-std-cbor.o
-rw-r--r-- 1 tao tao 23112 Jan 26 15:33 wuffs-std-crc32.o
-rw-r--r-- 1 tao tao 24936 Jan 26 15:33 wuffs-std-deflate.o
-rw-r--r-- 1 tao tao 30232 Jan 26 15:33 wuffs-std-gif.o
-rw-r--r-- 1 tao tao 8424 Jan 26 15:33 wuffs-std-gzip.o
-rw-r--r-- 1 tao tao 21456 Jan 26 15:33 wuffs-std-json.o
-rw-r--r-- 1 tao tao 7144 Jan 26 15:33 wuffs-std-lzw.o
-rw-r--r-- 1 tao tao 12168 Jan 26 15:33 wuffs-std-nie.o
-rw-r--r-- 1 tao tao 71504 Jan 26 15:33 wuffs-std-png.o
-rw-r--r-- 1 tao tao 16184 Jan 26 15:33 wuffs-std-tga.o
-rw-r--r-- 1 tao tao 10520 Jan 26 15:33 wuffs-std-wbmp.o
-rw-r--r-- 1 tao tao 7904 Jan 26 15:33 wuffs-std-zlib.o
Below are some standard C libraries shipped as part of Debian 11 Bullseye as of January 2023. The numbers aren't directly comparable, as these libraries have a richer API, especially in providing an encoder and not just a decoder. Still, it is a reference point for e.g. Wuffs (adler32 + crc32 + deflate + gzip + zlib) vs libz and Wuffs (gif + lzw) vs libgif.
dynamic:
-rw-r--r-- 1 root root 74688 Jul 20 2020 /lib/x86_64-linux-gnu/libbz2.so.1.0.4
-rw-r--r-- 1 root root 38752 Dec 21 2020 /lib/x86_64-linux-gnu/libgif.so.7.1.0
-rw-r--r-- 1 root root 231344 Sep 16 2020 /lib/x86_64-linux-gnu/libpng16.so.16.37.0
-rw-r--r-- 1 root root 113088 Aug 24 04:54 /lib/x86_64-linux-gnu/libz.so.1.2.11
static:
-rw-r--r-- 1 root root 80690 Jul 20 2020 /lib/x86_64-linux-gnu/libbz2.a
-rw-r--r-- 1 root root 51940 Dec 21 2020 /lib/x86_64-linux-gnu/libgif.a
-rw-r--r-- 1 root root 374338 Sep 16 2020 /lib/x86_64-linux-gnu/libpng16.a
-rw-r--r-- 1 root root 144866 Aug 24 04:54 /lib/x86_64-linux-gnu/libz.a
Updated on January 2023.