Skip to content

Commit 6360109

Browse files
benchmark ImageScript 3.2.1
1 parent 45003c8 commit 6360109

10 files changed

Lines changed: 216 additions & 216 deletions

File tree

‎bench/README.md‎

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,26 @@ WebAssembly.
1919

2020
## Numbers
2121

22-
Operations per second (more is faster), measured 2026-10-16 with Node.js v24.21.0 on AMD EPYC 9V74 80-Core Processor, ImageScript 3.2.0.
22+
Operations per second (more is faster), measured 2026-10-16 with Node.js v24.21.0 on AMD EPYC 9V45 96-Core Processor, ImageScript 3.2.1.
2323

2424
| | **ImageScript 3** | **ImageScript 1** | **Jimp** | **image-js** | **Photon** | **sharp** | **@napi-rs/canvas** |
2525
|---|--:|--:|--:|--:|--:|--:|--:|
26-
| decode JPEG | **16.5** | 7.83 | 8.11 | 7.46 | 26.2 | 83.6 | 57.2 |
27-
| decode PNG | **36.2** | 36.5 | 20.0 | 11.5 | 49.5 | 63.3 | 63.5 |
28-
| decode WebP (lossy) | **13.1** | – | – | – | 13.6 | 43.6 | 80.4 |
29-
| encode JPEG (quality 80) | **15.4** | 22.6 | 3.04 | 11.3 | 11.2 | 67.0 | 44.8 |
30-
| encode PNG | **9.77** | 4.76 | 5.10 | 3.76 | 11.7 | 8.83 | 2.41 |
31-
| encode WebP (lossless) | **1.30** | – | – | – | 28.7 | 0.83 | 2.56 |
32-
| resize to half | **30.6** | 463 | 87.1 | 13.7 | 21.4 | 71.3 | 411 |
33-
| rotate by 30° | **12.9** | 8.47 | 2.22 | 1.47 | 6.10 | 18.1 | 41.1 |
34-
| blur (radius 5) | **8.72** | – | 0.01 | 1.56 | 7.46 | 39.6 | 77.1 |
35-
| composite an overlay | **534** | 780 | 40.2 | 158 | 206 | 123 | 608 |
36-
| crop | **942** | 944 | 62.6 | 79.6 | 223 | 1,505 | 1,721 |
37-
| clone | **1,265** | 1,248 | 1,728 | 1,159 | 530 | 1,995 | 678 |
38-
| render text | **1,315** | 72.7 | – | – | – | 3,162 | 3,614 |
39-
| render SVG | **8.77** | fails | – | – | – | 31.8 | 122 |
40-
| decode animated GIF | **12.6** | 9.59 | – | – | – | 19.6 | – |
41-
| encode animated GIF | **6.31** | 1.47 | – | – | – | 1.10 | – |
26+
| decode JPEG | **20.4** | 11.1 | 9.69 | 9.88 | 33.2 | 111 | 81.3 |
27+
| decode PNG | **43.1** | 43.3 | 27.6 | 15.3 | 60.6 | 81.4 | 75.7 |
28+
| decode WebP (lossy) | **15.8** | – | – | – | 16.5 | 58.3 | 96.0 |
29+
| encode JPEG (quality 80) | **17.2** | 30.7 | 4.10 | 14.8 | 15.8 | 86.7 | 59.7 |
30+
| encode PNG | **13.1** | 7.01 | 6.32 | 5.29 | 15.9 | 10.8 | 2.96 |
31+
| encode WebP (lossless) | **1.61** | – | – | – | 37.0 | 1.08 | 3.21 |
32+
| resize to half | **110** | 598 | 111 | 18.3 | 27.6 | 123 | 591 |
33+
| rotate by 30° | **16.2** | 10.8 | 2.88 | 2.53 | 8.22 | 25.9 | 49.6 |
34+
| blur (radius 5) | **24.8** | – | 0.02 | 2.41 | 11.8 | 66.0 | 111 |
35+
| composite an overlay | **774** | 1,037 | 57.9 | 217 | 297 | 212 | 935 |
36+
| crop | **1,247** | 1,216 | 93.4 | 114 | 364 | 2,220 | 2,845 |
37+
| clone | **1,938** | 1,588 | 1,711 | 1,491 | 795 | 2,332 | 1,039 |
38+
| render text | **1,890** | 91.2 | – | – | – | 4,649 | 5,832 |
39+
| render SVG | **10.9** | fails | – | – | – | 41.7 | 171 |
40+
| decode animated GIF | **24.7** | 13.5 | – | – | – | 25.1 | – |
41+
| encode animated GIF | **8.04** | 2.03 | – | – | – | 1.46 | – |
4242

4343
Encoded sizes:
4444

@@ -55,8 +55,8 @@ Encoded sizes:
5555
| | **ImageScript 3** | **ImageScript 1** | **Jimp** | **image-js** | **Photon** | **sharp** | **@napi-rs/canvas** |
5656
|---|---|---|---|---|---|---|---|
5757
| kind | JavaScript | WebAssembly | JavaScript | JavaScript | WebAssembly | native (libvips) | native (Skia) |
58-
| package | `imagescript@3.2.0` | `imagescript@1.3.1` | `jimp@1.6.1` | `image-js@1.7.1` | `@silvia-odwyer/photon-node@0.3.4` | `sharp@0.35.5` | `@napi-rs/canvas@1.0.11` |
59-
| install size | 660 kB | 6.7 MB | 26.7 MB | 47.8 MB | 2.3 MB | 20.3 MB | 35.0 MB |
58+
| package | `imagescript@3.2.1` | `imagescript@1.3.1` | `jimp@1.6.1` | `image-js@1.7.1` | `@silvia-odwyer/photon-node@0.3.4` | `sharp@0.35.5` | `@napi-rs/canvas@1.0.11` |
59+
| install size | 672 kB | 6.7 MB | 26.7 MB | 47.8 MB | 2.3 MB | 20.3 MB | 35.0 MB |
6060
| packages | 1 | 1 | 64 | 55 | 1 | 6 | 2 |
6161

6262
## Method

‎bench/charts/animation.svg‎

Lines changed: 2 additions & 2 deletions
Loading

‎bench/charts/codecs.svg‎

Lines changed: 2 additions & 2 deletions
Loading

‎bench/charts/install.svg‎

Lines changed: 1 addition & 1 deletion
Loading

0 commit comments

Comments
 (0)