Improve Kotlin performance using Application Class Data Sharing by Yewzir · Pull Request #2423 · code-golf/code-golf · GitHub
Skip to content

Improve Kotlin performance using Application Class Data Sharing#2423

Open
Yewzir wants to merge 14 commits intocode-golf:masterfrom
Yewzir:kotlin-cache
Open

Improve Kotlin performance using Application Class Data Sharing#2423
Yewzir wants to merge 14 commits intocode-golf:masterfrom
Yewzir:kotlin-cache

Conversation

@Yewzir
Copy link
Copy Markdown
Contributor

@Yewzir Yewzir commented Oct 7, 2025

This branch significantly reduces Kotlin's startup time. In the past, we've found that the performance difference between local and server-side execution isn't easy to measure, but I've never seen Kotlin run this fast—almost always faster than live. And I only tested the methods that yielded the least significant improvements in startup time.

Yewzir added 6 commits October 5, 2025 12:04
Currently, as before, a pre-built Temurin image from Eclipse Adoptium is
being used for this purpose. It works fine with that, but not yet with
the new build method. The "--enable-jvm-feature-cds" flag hasn't yielded
any positive results yet. I'll see if `strace` can provide more clarity
on what's being done later. In any case, the boot time is significantly
shorter with the use of Class Data Sharing.
The current way of linking did not take CDS into account and therefore
"destroyed" the necessary base archive.
@github-actions github-actions Bot added the conflicts Pull Request has conflicts. label Oct 7, 2025
@github-actions github-actions Bot removed the conflicts Pull Request has conflicts. label Oct 12, 2025
@github-actions github-actions Bot added the conflicts Pull Request has conflicts. label Oct 12, 2025
@github-actions github-actions Bot removed the conflicts Pull Request has conflicts. label Oct 13, 2025
@Yewzir Yewzir changed the title Kotlin: Significant startup time improvement through Application Class Data Sharing Significantly improve Kotlin startup time using Application Class Data Sharing Oct 13, 2025
@github-actions github-actions Bot added the conflicts Pull Request has conflicts. label Oct 14, 2025
JRaspass added a commit that referenced this pull request Oct 28, 2025
Shrinks Java-based langs a little, shamelessly taken from #2423
@github-actions github-actions Bot removed the conflicts Pull Request has conflicts. label Nov 1, 2025
@Yewzir Yewzir marked this pull request as draft November 1, 2025 05:38
This applies to all languages running on the JVM, except Java itself and
Kotlin, of course. This way, all containers to which this applies remain
roughly the same size.
@Yewzir Yewzir marked this pull request as ready for review November 1, 2025 08:36
@Yewzir
Copy link
Copy Markdown
Contributor Author

Yewzir commented Nov 1, 2025

@Yewzir Yewzir marked this pull request as draft November 4, 2025 01:19
Yewzir added a commit to Yewzir/code-golf that referenced this pull request Nov 8, 2025
This is the essence of what I'm doing with Kotlin in code-golf#2423, among
other things. Here too, the acceleration is clearly noticeable.
JRaspass pushed a commit that referenced this pull request Nov 8, 2025
This is the essence of what I'm doing with Kotlin in #2423, among
other things. Here too, the acceleration is clearly noticeable.
@github-actions github-actions Bot added the conflicts Pull Request has conflicts. label Nov 8, 2025
@Yewzir Yewzir changed the title Significantly improve Kotlin startup time using Application Class Data Sharing Improve Kotlin performance using Application Class Data Sharing Dec 21, 2025
@github-actions github-actions Bot removed the conflicts Pull Request has conflicts. label Dec 21, 2025
@Yewzir Yewzir marked this pull request as ready for review December 21, 2025 20:19
@github-actions github-actions Bot added the conflicts Pull Request has conflicts. label Jan 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conflicts Pull Request has conflicts.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant