This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-09-07
Channels
- # architecture (35)
- # babashka (9)
- # beginners (31)
- # biff (15)
- # calva (8)
- # catalyst (3)
- # cider (7)
- # clerk (4)
- # clj-kondo (24)
- # clj-yaml (10)
- # clojure (58)
- # clojure-europe (65)
- # clojure-japan (1)
- # clojure-nl (1)
- # clojure-norway (89)
- # clojure-spec (1)
- # clojure-sweden (1)
- # clojure-uk (8)
- # clojurescript (14)
- # cursive (3)
- # datahike (1)
- # datomic (29)
- # emacs (8)
- # graalvm (20)
- # graphql (1)
- # gratitude (2)
- # helix (6)
- # hyperfiddle (65)
- # jobs-discuss (7)
- # leiningen (1)
- # lsp (6)
- # malli (14)
- # missionary (12)
- # nrepl (8)
- # off-topic (24)
- # polylith (29)
- # reagent (14)
- # sci (14)
- # shadow-cljs (6)
- # spacemacs (10)
- # sql (4)
Is there any special concerns to think about when choosing a clojure http client for a graalvm application?
yes. not all work out of the box or yield a small binary. babashka.http-client and httpkit yield small binaries
How about web servers?
Oh nice, it has no dependencies
nginx recommended for https eh
Thanks @U04V15CAJ
I have a graalvm compiled shared lib that contains SCI and is 52MB. Wondering how much of that is likely SCI...
yeah I should check. thanks for the tips
SCI seems to account for 38 MB there. Reflection had no noticeable effect (at least not on the MB level)
I adapted the jayfu example to rip out clojure.data json and it only prints an evaluated command line value. I get for GraalVM JDK 19/22.3.0 a binary that is 22mb. For Oracle GraalVM 20 (new version scheme, new vendor name) I get 25mb. For Oracle GraalVM 20 + -O1 I get 19635330 (19.6mb).
Every new GraalVM release can come with some binary size increase when they add more stuff to the runtime, but 38mb seems to come from other stuff than only SCI. E.g. when you have runtime calls to resolve
etc this may "bloat" the image. Carefully avoid those if you can.
When I wrote the docs of this project, the size was 17mb: https://github.com/borkdude/dynaload