Files
squoosh/codecs
Ingvar Stepanyan 27ae47117e Leverage make -j to parallelise C++ builds
We've been running each Make command in a single thread, resulting in fairly slow builds for C++ codecs.

This change instead runs all `make` invocations with `-j` defaulting to number of cores (retrieved via `nproc`).

On my machine Docker uses a VM configured to 4 cores out of 8 available. This change brings total build time for C++ codecs down from 10m28s to 7m5s (~3.5 minutes difference).

Note (1): I've converted imagequant builds to use built-in `make` as well to leverage this parallelisation and future-proof build script.
Note (2): we don't need to do the same for Rust, since Cargo parallelises builds by default.
2020-05-01 16:42:41 +01:00
..
2019-08-05 15:13:40 +01:00
2018-09-04 16:49:45 +01:00
2018-05-15 17:14:29 +01:00
2018-06-13 23:40:24 +01:00
2018-11-15 22:02:11 +01:00

Codecs

This folder contains a self-contained sub-project for each encoder and decoder that squoosh supplies.

Build

Each subproject can be built using Docker the following commands:

$ npm install
$ npm run build

This will build two files: <codec name>_<enc or dec>.js and <codec name>_<enc or dec>.wasm. It will most likely be necessary to set Module["locateFile"] to successfully load the .wasm file. When the .js file is loaded, a global <codec name>_<enc or dec> is created with the same API as an Emscripten Module.

Each codec will document its API in its README.