From f989abef14cad6c2cbe66d52b5aae00fbb120680 Mon Sep 17 00:00:00 2001 From: Helmut Januschka Date: Mon, 16 Mar 2026 10:52:51 +0100 Subject: [PATCH 1/3] perf: carry over release profile and benchmark workflow updates --- .github/workflows/pull_request.yml | 33 ++++++++++++++++++++++++------ Cargo.toml | 3 +++ 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 0a63939e2..990c02884 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -254,14 +254,35 @@ jobs: - name: Install jxl-perfhistory run: cargo install --git https://github.com/zond/jxl-perfhistory - - name: Select a few test images + - name: Select benchmark corpus (autoresearch 8 images) id: select-images run: | - mkdir testimages - cp jxl/resources/test/conformance_test_images/sunset_logo.jxl testimages - cp jxl/resources/test/conformance_test_images/bike.jxl testimages - cp jxl/resources/test/green_queen_modular_e3.jxl testimages - cp jxl/resources/test/green_queen_vardct_e3.jxl testimages + mkdir -p testimages + + # Keep this aligned with the autoresearch image set so CI numbers stay + # comparable while avoiding benchmark timeouts. + image_map=( + "jxl/resources/test/conformance_test_images/sunset_logo.jxl:sunset_logo.jxl" + "jxl/resources/test/conformance_test_images/bike.jxl:bike.jxl" + "jxl/resources/test/green_queen_modular_e3.jxl:green_queen_modular_e3.jxl" + "jxl/resources/test/green_queen_vardct_e3.jxl:green_queen_vardct_e3.jxl" + "jxl/resources/test/conformance_test_images/bicycles.jxl:bicycles.jxl" + "jxl/resources/test/conformance_test_images/delta_palette.jxl:delta_palette.jxl" + "jxl/resources/test/conformance_test_images/lz77_flower.jxl:lz77_flower.jxl" + "jxl/resources/test/conformance_test_images/patches.jxl:patches_lossless.jxl" + ) + + for entry in "${image_map[@]}"; do + src="${entry%%:*}" + dest="${entry##*:}" + if [ ! -f "$src" ]; then + echo "Missing benchmark image: $src" + exit 1 + fi + ln -s "$GITHUB_WORKSPACE/$src" "testimages/$dest" + done + + echo "Selected $(find testimages -maxdepth 1 -name '*.jxl' | wc -l) images for benchmark" - name: Cache benchmark binaries uses: actions/cache@v4 diff --git a/Cargo.toml b/Cargo.toml index 4409589fa..51a26fb52 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,8 @@ [profile.release] debug = true +lto = "thin" +panic = "abort" +overflow-checks = false [profile.bench] debug = true From 14a7dd02fc87bf1715ec1703c7415a7f55d4254f Mon Sep 17 00:00:00 2001 From: Helmut Januschka Date: Wed, 25 Mar 2026 14:00:30 +0100 Subject: [PATCH 2/3] chore: address PR review feedback --- .github/workflows/pull_request.yml | 28 ++++++++-------------------- Cargo.toml | 1 - 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 990c02884..b77933789 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -261,26 +261,14 @@ jobs: # Keep this aligned with the autoresearch image set so CI numbers stay # comparable while avoiding benchmark timeouts. - image_map=( - "jxl/resources/test/conformance_test_images/sunset_logo.jxl:sunset_logo.jxl" - "jxl/resources/test/conformance_test_images/bike.jxl:bike.jxl" - "jxl/resources/test/green_queen_modular_e3.jxl:green_queen_modular_e3.jxl" - "jxl/resources/test/green_queen_vardct_e3.jxl:green_queen_vardct_e3.jxl" - "jxl/resources/test/conformance_test_images/bicycles.jxl:bicycles.jxl" - "jxl/resources/test/conformance_test_images/delta_palette.jxl:delta_palette.jxl" - "jxl/resources/test/conformance_test_images/lz77_flower.jxl:lz77_flower.jxl" - "jxl/resources/test/conformance_test_images/patches.jxl:patches_lossless.jxl" - ) - - for entry in "${image_map[@]}"; do - src="${entry%%:*}" - dest="${entry##*:}" - if [ ! -f "$src" ]; then - echo "Missing benchmark image: $src" - exit 1 - fi - ln -s "$GITHUB_WORKSPACE/$src" "testimages/$dest" - done + cp jxl/resources/test/conformance_test_images/sunset_logo.jxl testimages/sunset_logo.jxl + cp jxl/resources/test/conformance_test_images/bike.jxl testimages/bike.jxl + cp jxl/resources/test/green_queen_modular_e3.jxl testimages/green_queen_modular_e3.jxl + cp jxl/resources/test/green_queen_vardct_e3.jxl testimages/green_queen_vardct_e3.jxl + cp jxl/resources/test/conformance_test_images/bicycles.jxl testimages/bicycles.jxl + cp jxl/resources/test/conformance_test_images/delta_palette.jxl testimages/delta_palette.jxl + cp jxl/resources/test/conformance_test_images/lz77_flower.jxl testimages/lz77_flower.jxl + cp jxl/resources/test/conformance_test_images/patches.jxl testimages/patches_lossless.jxl echo "Selected $(find testimages -maxdepth 1 -name '*.jxl' | wc -l) images for benchmark" diff --git a/Cargo.toml b/Cargo.toml index 51a26fb52..8d53f406c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,6 @@ debug = true lto = "thin" panic = "abort" -overflow-checks = false [profile.bench] debug = true From 480381d89943c2ee2e43895142a9a30691b5d1b0 Mon Sep 17 00:00:00 2001 From: Helmut Januschka Date: Wed, 25 Mar 2026 14:50:14 +0100 Subject: [PATCH 3/3] ci: simplify benchmark step name --- .github/workflows/pull_request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index b77933789..b27f2d0b9 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -254,7 +254,7 @@ jobs: - name: Install jxl-perfhistory run: cargo install --git https://github.com/zond/jxl-perfhistory - - name: Select benchmark corpus (autoresearch 8 images) + - name: Select benchmark corpus id: select-images run: | mkdir -p testimages