Skip to content

Commit cb97e69

Browse files
authored
Add list of software using oxipng (#646)
This adds a short list of software using Oxipng to the read me. It's not intended to be an exhaustive list, just some ones that I'm aware of that may have broad general interest. I've also removed the long section about Trunk which I'm not sure is appropriate to include in this read me. Trunk users can find documentation on this from Trunk directly. Lastly, I've removed the older benchmark which I'm sure has no relevance any more.
1 parent 490a469 commit cb97e69

File tree

1 file changed

+10
-76
lines changed

1 file changed

+10
-76
lines changed

README.md

+10-76
Original file line numberDiff line numberDiff line change
@@ -93,46 +93,6 @@ repos:
9393
```
9494
[pre-commit]: https://pre-commit.com/
9595
96-
## Git integration via [Trunk]
97-
98-
[Trunk] is an extendable superlinter which can be used to run `oxipng` to automatically optimize `png`s when committing them into a git repo, or to gate any `png`s being added to a git repo on whether they are optimized. The [trunk] Oxipng integration is [here](https://github.com/trunk-io/plugins/tree/main/linters/oxipng).
99-
100-
To enable Oxipng via [trunk]:
101-
102-
```bash
103-
# to get the latest version:
104-
trunk check enable oxipng
105-
106-
# to get a specific version:
107-
trunk check enable [email protected]
108-
```
109-
110-
or modify `.trunk/trunk.yaml` in your repo to contain:
111-
112-
```
113-
lint:
114-
enabled:
115-
116-
```
117-
118-
Then just run:
119-
120-
```bash
121-
# to optimize a png:
122-
trunk fmt <file>
123-
124-
# to check if a png is already optimized:
125-
trunk check <file>
126-
```
127-
128-
You can setup [trunk] to [manage your git hooks](https://docs.trunk.io/docs/actions-git-hooks) and automatically optimize any `png`s you commit to git, _when_ you `git commit`. To enable this, run:
129-
130-
```bash
131-
trunk actions enable trunk-fmt-pre-commit
132-
```
133-
134-
[trunk]: https://docs.trunk.io
135-
13696
## Docker
13797
13898
A Docker image is availlable at `ghcr.io/shssoichiro/oxipng` for `linux/amd64` and `linux/arm64`.
@@ -159,6 +119,16 @@ no simple way to just disable one feature in Cargo, it has to be done by disabli
159119
and specifying the desired ones, for example:
160120
`oxipng = { version = "9.0", features = ["parallel", "zopfli", "filetime"], default-features = false }`
161121

122+
## Software using Oxipng
123+
124+
- [ImageOptim](https://imageoptim.com): Mac app and web service for optimizing images
125+
- [Squoosh](https://squoosh.app): Web app for optimizing images
126+
- [FileOptimizer](https://nikkhokkho.sourceforge.io/?page=FileOptimizer): Windows app for optimizing files
127+
- [Curtial](https://github.com/Huluti/Curtail): Linux app for optimizing images
128+
- [pyoxipng](https://pypi.org/project/pyoxipng/): Python wrapper for Oxipng
129+
- [jSquash](https://github.com/jamsinclair/jSquash): Collection of WebAssembly image codecs
130+
- [Trunk](https://trunk.io): Developer experience toolkit for managing code
131+
162132
## History
163133

164134
Oxipng began as a complete rewrite of the OptiPNG project,
@@ -220,39 +190,3 @@ Summary
220190
5.01 ± 0.25 times faster than optipng -o 4 -simulate ./tests/files/rgb_16_should_be_grayscale_8.png
221191

222192
```
223-
224-
<details>
225-
<summary>Older benchmark</summary>
226-
227-
Tested Oxipng 5.0.0 (compiled on rustc 1.55.0-nightly (7a16cfcff 2021-07-11)) against OptiPNG version 0.7.7 on AMD Ryzen 7 4800H with Radeon Graphics with 16 logical cores
228-
229-
```
230-
231-
Benchmark #1: ./target/release/oxipng -P ./tests/files/rgb_16_should_be_grayscale_8.png
232-
Time (mean ± σ): 128.8 ms ± 14.2 ms [User: 296.0 ms, System: 14.3 ms]
233-
Range (min … max): 98.8 ms … 152.3 ms 21 runs
234-
235-
Benchmark #2: optipng -simulate ./tests/files/rgb_16_should_be_grayscale_8.png
236-
Time (mean ± σ): 254.2 ms ± 16.0 ms [User: 252.8 ms, System: 1.2 ms]
237-
Range (min … max): 208.4 ms … 263.8 ms 14 runs
238-
239-
Summary
240-
'./target/release/oxipng -P ./tests/files/rgb_16_should_be_grayscale_8.png' ran
241-
1.97 ± 0.25 times faster than 'optipng -simulate ./tests/files/rgb_16_should_be_grayscale_8.png'
242-
243-
244-
245-
Benchmark #1: ./target/release/oxipng -o4 -P ./tests/files/rgb_16_should_be_grayscale_8.png
246-
Time (mean ± σ): 141.4 ms ± 14.9 ms [User: 611.7 ms, System: 21.1 ms]
247-
Range (min … max): 100.2 ms … 160.4 ms 23 runs
248-
249-
Benchmark #2: optipng -o 4 -simulate ./tests/files/rgb_16_should_be_grayscale_8.png
250-
Time (mean ± σ): 730.0 ms ± 25.9 ms [User: 728.0 ms, System: 1.2 ms]
251-
Range (min … max): 713.3 ms … 768.2 ms 10 runs
252-
253-
Summary
254-
'./target/release/oxipng -o4 -P ./tests/files/rgb_16_should_be_grayscale_8.png' ran
255-
5.16 ± 0.58 times faster than 'optipng -o 4 -simulate ./tests/files/rgb_16_should_be_grayscale_8.png'
256-
257-
```
258-
</details>

0 commit comments

Comments
 (0)