mirror of
https://github.com/apple/pkl.git
synced 2026-01-11 22:30:54 +01:00
UPX the binary so it would save bandwidth #18
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @kokizzu on GitHub (Feb 4, 2024).
especially for 3rd world countries where internet is slow
@holzensp commented on GitHub (Feb 9, 2024):
I certainly like the idea, but I'm a little hesitant about this (from upx.github.io):
I have not had the chance to test, but I think this statement ignores startup time, which we want to be very mindful of. If you know of some benchmarks around this topic, I'm happy to look at it further.
Releasing both the "normal" and the compressed version is also an option, of course, but that makes bug reports (especially around distribution) harder. We are working on getting onto newer versions of GraalVM, which also promises significant reductions in binary size.
@jamesward commented on GitHub (Mar 3, 2024):
Very basic benchmark:
With
upx -9:So definitely some overhead but not sure if it is acceptable amount.
Another option since some of Pkl is written in Kotlin is Kotlin/Native which produces much smaller binaries. But that'd be a much larger re-write since all of the JVM dependencies would have to be replaced and there may not be existing alternatives yet. Just for reference, a very basic "hello, world" with Kotlin/Native (source):
Side note, that with Kotlin Multiplatform, you could have both the native and the JVM library outputs so Pkl wouldn't lose the JVM library like they would if they went Rust, Go, etc.