[PR #455] [CLOSED] Improve configuration of native image compilation #565

Closed
opened 2025-12-30 01:25:21 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/apple/pkl/pull/455
Author: @odenix
Created: 4/25/2024
Status: Closed

Base: mainHead: graalvm-23


📝 Commits (7)

  • aac6c9c Improve configuration of native image compilation
  • 4162ba6 Eliminate duplicate task configuration code
  • b6d5825 Improve BinaryEvaluatorSnippetTests(Engine)
  • 13add6f Also run ServerTest against native executable
  • 6041355 Incorporate review feedback
  • 48f98a6 Revert "Improve BinaryEvaluatorSnippetTests(Engine)"
  • 16a3320 Add pkl-server:testNative to build native job

📊 Changes

12 files changed (+249 additions, -182 deletions)

View changed files

📝 .circleci/config.yml (+12 -12)
📝 .circleci/jobs/BuildNativeJob.pkl (+1 -1)
📝 pkl-cli/pkl-cli.gradle.kts (+15 -31)
pkl-commons-test/src/main/kotlin/org/pkl/commons/test/PklExecutablePaths.kt (+47 -0)
📝 pkl-core/pkl-core.gradle.kts (+28 -68)
📝 pkl-core/src/test/kotlin/org/pkl/core/LanguageSnippetTestsEngine.kt (+7 -6)
📝 pkl-core/src/test/kotlin/org/pkl/core/http/RequestCapturingClient.kt (+19 -19)
📝 pkl-server/pkl-server.gradle.kts (+21 -2)
📝 pkl-server/src/test/kotlin/org/pkl/server/AbstractServerTest.kt (+3 -41)
pkl-server/src/test/kotlin/org/pkl/server/JvmServerTest.kt (+55 -0)
pkl-server/src/test/kotlin/org/pkl/server/NativeServerTest.kt (+39 -0)
📝 pkl-server/src/test/kotlin/org/pkl/server/TestTransport.kt (+2 -2)

📄 Description

  • Solve msgpack issue with --initialize-at-run-time.
  • Use quick build mode for 40% faster compilation and 20% smaller executable (tested on Linux amd64). If necessary, this can be disabled for release builds. Note that with the move from GraalVM CE 22 to Oracle GraalVM 23, native image compilation time has doubled and binary size has increased to 120 MiB on Linux amd64.
  • Use Intel Skylake (2015) CPU features for amd64 executables.
  • Remove options that are commented out.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/apple/pkl/pull/455 **Author:** [@odenix](https://github.com/odenix) **Created:** 4/25/2024 **Status:** ❌ Closed **Base:** `main` ← **Head:** `graalvm-23` --- ### 📝 Commits (7) - [`aac6c9c`](https://github.com/apple/pkl/commit/aac6c9c151e43337f7c29a7142c8ecac02f3ee29) Improve configuration of native image compilation - [`4162ba6`](https://github.com/apple/pkl/commit/4162ba6ff971d0c4e21238b133cb390cdbfdc8dd) Eliminate duplicate task configuration code - [`b6d5825`](https://github.com/apple/pkl/commit/b6d5825ed30d7960b55f6fce8337cad8a1ddf47a) Improve BinaryEvaluatorSnippetTests(Engine) - [`13add6f`](https://github.com/apple/pkl/commit/13add6f9ab685b8a0cab187b7de6d5a1a9473111) Also run ServerTest against native executable - [`6041355`](https://github.com/apple/pkl/commit/6041355357d8cdaf26431cdfdda7a61e4da59469) Incorporate review feedback - [`48f98a6`](https://github.com/apple/pkl/commit/48f98a61adcdba35b8b0e300e7e9594427e36283) Revert "Improve BinaryEvaluatorSnippetTests(Engine)" - [`16a3320`](https://github.com/apple/pkl/commit/16a3320f933d8d89903fb9fdf98837bb38727b95) Add pkl-server:testNative to build native job ### 📊 Changes **12 files changed** (+249 additions, -182 deletions) <details> <summary>View changed files</summary> 📝 `.circleci/config.yml` (+12 -12) 📝 `.circleci/jobs/BuildNativeJob.pkl` (+1 -1) 📝 `pkl-cli/pkl-cli.gradle.kts` (+15 -31) ➕ `pkl-commons-test/src/main/kotlin/org/pkl/commons/test/PklExecutablePaths.kt` (+47 -0) 📝 `pkl-core/pkl-core.gradle.kts` (+28 -68) 📝 `pkl-core/src/test/kotlin/org/pkl/core/LanguageSnippetTestsEngine.kt` (+7 -6) 📝 `pkl-core/src/test/kotlin/org/pkl/core/http/RequestCapturingClient.kt` (+19 -19) 📝 `pkl-server/pkl-server.gradle.kts` (+21 -2) 📝 `pkl-server/src/test/kotlin/org/pkl/server/AbstractServerTest.kt` (+3 -41) ➕ `pkl-server/src/test/kotlin/org/pkl/server/JvmServerTest.kt` (+55 -0) ➕ `pkl-server/src/test/kotlin/org/pkl/server/NativeServerTest.kt` (+39 -0) 📝 `pkl-server/src/test/kotlin/org/pkl/server/TestTransport.kt` (+2 -2) </details> ### 📄 Description - Solve msgpack issue with `--initialize-at-run-time`. - Use quick build mode for 40% faster compilation and 20% smaller executable (tested on Linux amd64). If necessary, this can be disabled for release builds. Note that with the move from GraalVM CE 22 to Oracle GraalVM 23, native image compilation time has doubled and binary size has increased to 120 MiB on Linux amd64. - Use Intel Skylake (2015) CPU features for amd64 executables. - Remove options that are commented out. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-30 01:25:21 +01:00
adam closed this issue 2025-12-30 01:25:21 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/pkl#565