Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

do not add all VM implementations, part of #131 #145

Merged
merged 3 commits into from
May 3, 2023
Merged

Conversation

sabomichal
Copy link
Contributor

@sabomichal sabomichal commented Apr 26, 2023

Tento option nevyzera byt v aktualnej verzii zdokumentovany, ale stale existuje a v starsej doc je ho mozne najst https://docs.oracle.com/javase/9/tools/jlink.htm. Vybuildena minimalna JRE cez jlink pribaluje vsetky implementacie HotSpot VM, co je aj vidiet v build adresari target/preparedJDK/lib/[server|client|minimal]. Staci jedna, ak nebude na ziadnej platforme problem, tak zatial volim minimal.

Toto nastavenie je silne zavisle na pouzitej implementacii JDK a platforme.

@sabomichal sabomichal requested a review from jsuchal April 26, 2023 08:22
@sabomichal
Copy link
Contributor Author

Ocividne pre windows platformu ani take VM neexistuje. Takze este upravim ked sa dostanem aj na danu platformu.

@jsuchal
Copy link
Member

jsuchal commented Apr 26, 2023

@sabomichal windows tu mame poruke cize ked povies co treba tak mozeme skusit

@sabomichal
Copy link
Contributor Author

@sabomichal windows tu mame poruke cize ked povies co treba tak mozeme skusit

Pozrite build adresare target/preparedJDK/lib/[server|client|minimal]. Ktory z nich sa win platforme vyskytuje?

@celuchmarek
Copy link
Member

@luciajanikova

@jsuchal
Copy link
Member

jsuchal commented Apr 26, 2023

@sabomichal zatial sme sa trosku zasekli, lucii velmi nejde spravit package na lokale a v tom adresari nie je nic co by sa na to podobalo, ale to bude asi tym, ze to neskoncilo.

@sabomichal sabomichal changed the title do not add all VM implementations, part of #131 draft: do not add all VM implementations, part of #131 Apr 26, 2023
@sabomichal
Copy link
Contributor Author

@jsuchal zistil som ze download si viem vlastne spravit aj ja, takze dal som to teraz skusmo naslepo. treba vsak balicky vyskusat, ze bezia v pohode a su naozaj mensie (mali by).

@sabomichal sabomichal changed the title draft: do not add all VM implementations, part of #131 do not add all VM implementations, part of #131 Apr 26, 2023
@jsuchal
Copy link
Member

jsuchal commented Apr 26, 2023

Lokalny build

-rw-r--r--  1 johno johno  92M apr 26 13:29 autogram_1.0.0-1_amd64.deb
-rw-rw-r--  1 johno johno 106M apr 26 13:28 autogram-1.0.0-1.x86_64.rpm

vs. verzia predtym

image

Zmensuje sa, ale nejaka velka slava to asi nebude.

@sabomichal
Copy link
Contributor Author

sabomichal commented Apr 26, 2023

Tu som myslel ci sa zmensili prave tie .msi a .pkg, ktore lokalne otestovat neviem. Kazdopadne, nie je to este nativny build, takze aj tych 10% cosi pomoze.

@jsuchal
Copy link
Member

jsuchal commented Apr 27, 2023

@sabomichal inak ked pushes tag tak to vyrobi draft build kde vidiet assets.

@jsuchal
Copy link
Member

jsuchal commented Apr 27, 2023

@sabomichal tuto chceme skusit asi nejaky draft release a az potom merge ze?

@sabomichal
Copy link
Contributor Author

@jsuchal ano, pretestujte prosim pred mergom. Pokojne pridaj ten tag ako zvyknete, ja to teraz nedavam.

@jsuchal
Copy link
Member

jsuchal commented Apr 28, 2023

Takto to teraz vyzera, ale dal som merge s main kde su aj nejake nove kniznice, cize asi to nevieme porovnat.
image

@jsuchal
Copy link
Member

jsuchal commented Apr 28, 2023

pozeram co je vnutri debian balika

-rw-r--r-- root/root   1009047 2023-04-28 19:18 ./opt/autogram/lib/app/dependency-jars/bcpkix-jdk18on-1.72.jar
-rw-r--r-- root/root   1019438 2023-04-28 19:18 ./opt/autogram/lib/app/dependency-jars/jaxb-runtime-2.3.8.jar
-rw-r--r-- root/root   1027768 2023-04-28 19:18 ./opt/autogram/lib/app/dependency-jars/xmlresolver-5.1.1-data.jar
-rw-r--r-- root/root   1130296 2023-04-28 19:18 ./opt/autogram/lib/app/dependency-jars/xmlsec-2.3.3.jar
-rwxr-xr-x root/root   1516240 2023-04-28 19:18 ./opt/autogram/lib/libapplauncher.so
-rw-r--r-- root/root   1567583 2023-04-28 19:18 ./opt/autogram/lib/app/dependency-jars/fontbox-2.0.28.jar
-rw-r--r-- root/root   1585859 2023-04-28 19:18 ./opt/autogram/lib/app/dependency-jars/woodstox-core-6.5.0.jar
-rw-r--r-- root/root   1772030 2023-04-28 19:18 ./opt/autogram/lib/app/autogram.jar
-rw-r--r-- root/root   2279184 2023-04-28 19:18 ./opt/autogram/lib/runtime/lib/libfontmanager.so
-rw-r--r-- root/root   2338400 2023-04-28 19:18 ./opt/autogram/lib/runtime/lib/libgstreamer-lite.so
-rw-r--r-- root/root   2777916 2023-04-28 19:18 ./opt/autogram/lib/app/dependency-jars/pdfbox-2.0.28.jar
-rw-r--r-- root/root   2959479 2023-04-28 19:18 ./opt/autogram/lib/app/dependency-jars/guava-31.1-jre.jar
-rw-r--r-- root/root   5293864 2023-04-28 19:18 ./opt/autogram/lib/runtime/lib/minimal/libjvm.so
-rw-r--r-- root/root   5549427 2023-04-28 19:18 ./opt/autogram/lib/app/dependency-jars/Saxon-HE-12.1.jar
-rw-r--r-- root/root  11274121 2023-04-28 19:18 ./opt/autogram/lib/app/dependency-jars/bcprov-jdk18on-1.72.jar
-rw-r--r-- root/root  15276152 2023-04-28 19:18 ./opt/autogram/lib/runtime/lib/client/libjvm.so
-rw-r--r-- root/root  25019368 2023-04-28 19:18 ./opt/autogram/lib/runtime/lib/server/libjvm.so
-rw-r--r-- root/root  30597678 2023-04-28 19:18 ./opt/autogram/lib/runtime/lib/modules
-rw-r--r-- root/root 120180080 2023-04-28 19:18 ./opt/autogram/lib/runtime/lib/libjfxwebkit.so

tie runtime client/server su podozrive nie?

@sabomichal
Copy link
Contributor Author

ano, nemali by tam byt. ak to buildim lokalne, tak ich tam nemam. pozriem preco sa tak deje.

@sabomichal
Copy link
Contributor Author

sabomichal commented May 2, 2023

Ja to vidim v poriadku, assety su mensie a content je tiez ok. (trosku som sa vypainoval s tagovanim, vyzadovalo to pravidla, preto aj takyto tag)

image
image

@jsuchal
Copy link
Member

jsuchal commented May 2, 2023

Toto už vyzerá dobre. Neviem úplne či to za tých 10-15 mb stojí ale mergnime to.

@sabomichal
Copy link
Contributor Author

Taky rychly PoC napoveda, ze ked zamenis pouzivanu JDK za verziu bez JavaFX (napr. Eclipse Temurin) a pouzijes OpenJFX v najnovsej verzii, tak tam je setrenie este vyraznejsie. Moduly su mensie a webkit je pod 100M. Ale to treba prekopat cely build a zrejme tam budu aj nejake nekompatibility, ktore bude treba fixovat.

A potom dalsia moznost je zrejme uz len ist do nativneho buildu.

@jsuchal
Copy link
Member

jsuchal commented May 3, 2023

@sabomichal native build myslis cez graalvm? To som kedysi davnejsie skusal len na nejake male testovanie (uplne minimalisticky podpisovac co nic nerobi len nieco natvrdo podpise) a generovalo to dost masivny file/build - ale je pravda, ze to bolo bleskove. Nie som si vsak isty, ze su uz tak daleko, ze by dali aj javafx.

Co sa tyka openjfx, tak to je zaujimave. Kolko by sme vedeli usetrit. Zase v dnesnom svete sa nahanat za 10MB uplne nema zmysel.

@sabomichal
Copy link
Contributor Author

@jsuchal nativny build, ano, cez GraalVM. Nie je to vobec nieco s cim robim, takze ten ekosystem a jeho pripravenost poznam minimalne, ale myslim, ze prave na taketo jednoduche aplikacie (kde uplne staci staticka analyza kodu) je vhodny. Skusal som sample s JFX (https://docs.gluonhq.com/#platforms_linux_sample) a vyzera ze ide.

Co sa OpenJFX a setrenia tyka, to este pozriem presne. Ale bude to ozaj len par MB. Ako prinosnejsie vsak stale vidim zbavenie sa tej konkretnej verzie JDK s konkretnou verziou JFX.

Oba pristupy su vsak skor aktivita na dalsi rozvoj.

pom.xml Show resolved Hide resolved
@jsuchal jsuchal merged commit d6cf664 into main May 3, 2023
7 of 13 checks passed
@jsuchal jsuchal deleted the strip_down_jre_pt1 branch May 3, 2023 09:28
@jsuchal jsuchal mentioned this pull request May 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants