image
: 15.6 ms per jpegzune-jpeg
10.3 ms per jpegzune-jpeg
dev
branch: 8.2 ms per jpeg
image
: 35 ms per jpegzune-jpeg
29 ms per jpegzune-jpeg
dev
branch: 29 ms per jpeg
Start by clicking "Use this template" at https://github.com/emilk/image_decode_bench/ or follow these instructions.
Change the name of the crate: Chose a good name for your project, and change the name to it in:
Cargo.toml
- Change the
package.name
fromimage_decode_bench
toyour_crate
. - Change the
package.authors
- Change the
main.rs
- Change
image_decode_bench::TemplateApp
toyour_crate::TemplateApp
- Change
index.html
- Change the
<title>Image Decode Benchmark</title>
to<title>your_crate</title>
. optional.
- Change the
assets/sw.js
- Change the
'./image_decode_bench.js'
to./your_crate.js
(infilesToCache
array) - Change the
'./image_decode_bench_bg.wasm'
to./your_crate_bg.wasm
(infilesToCache
array)
- Change the
Make sure you are using the latest version of stable rust by running rustup update
.
cargo run --release
On Linux you need to first run:
sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev
On Fedora Rawhide you need to run:
dnf install clang clang-devel clang-tools-extra libxkbcommon-devel pkg-config openssl-devel libxcb-devel fontconfig-devel
You can compile your app to WASM and publish it as a web page.
We use Trunk to build for web target.
- Install Trunk with
cargo install --locked trunk
. - Run
trunk serve
to build and serve onhttp://127.0.0.1:8080
. Trunk will rebuild automatically if you edit the project. - Open
http://127.0.0.1:8080/index.html#dev
in a browser. See the warning below.
assets/sw.js
script will try to cache our app, and loads the cached version when it cannot connect to server allowing your app to work offline (like PWA). appending#dev
toindex.html
will skip this caching, allowing us to load the latest builds during development.
- Just run
trunk build --release
. - It will generate a
dist
directory as a "static html" website - Upload the
dist
directory to any of the numerous free hosting websites including GitHub Pages. - we already provide a workflow that auto-deploys our app to GitHub pages if you enable it.
To enable Github Pages, you need to go to Repository -> Settings -> Pages -> Source -> set to
gh-pages
branch and/
(root).If
gh-pages
is not available inSource
, just create and push a branch calledgh-pages
and it should be available.
You can test the template app at https://emilk.github.io/image_decode_bench/.