This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-09-27
Channels
- # announcements (1)
- # asami (10)
- # babashka (12)
- # beginners (26)
- # biff (4)
- # calva (42)
- # cider (1)
- # clj-commons (2)
- # cljs-dev (2)
- # clojure (179)
- # clojure-dev (2)
- # clojure-europe (45)
- # clojure-norway (16)
- # clojure-uk (3)
- # clojurescript (5)
- # datahike (1)
- # datascript (2)
- # events (3)
- # exercism (1)
- # fulcro (13)
- # funcool (3)
- # graalvm (23)
- # helix (3)
- # honeysql (1)
- # hyperfiddle (3)
- # lsp (51)
- # malli (2)
- # off-topic (27)
- # portal (18)
- # reagent (3)
- # reitit (3)
- # releases (8)
- # sci (5)
- # shadow-cljs (11)
- # xtdb (5)
@ericdallo Just found a way to improve performance in babashka with 3x for loops: https://github.com/babashka/babashka/commit/c04b83811c26aaffcd707f2e4b06ad017393127b It uses pgo in the Oracle GraalVM. Could be interesting for clojure-lsp (and clj-kondo binary) too.
The idea is to instrument the binary using a typical workload and then use that profile to compile an optimized binary
@U04V15CAJ how did you get the PGO for bb, did you buy or something graalvm enterprise to get that?
There is no longer an EE version, it's now just called Oracle GraalVM and it's free to use
Still doing some tests but aparrently, 15s to lint clojure-lsp project without cache and 10s with pgo 👀 the binary size went from 89M -> 94M but seems to be worth it
I could not create it using in an editor since the iprof is only generated after the program exit with status 0, but I used clojure-lsp diagnostics
which does almost the same things that does in the editor
I could force a exit 0 when using in the editor coding that, but don't think would change that much
@ericdallo I'm reverting PGO in bb for now since the iprof file cannot reliably be re-used over multiple builds it seems
so, for clojure-lsp we have 5 builds, which is all platforms we support, that would be 6 then
well, I tried that, making an iprof locally and share that over other platforms, but it didn't work anymore
I implemented that this last weekend and only tested on my machine 😅 so when I release a new lsp version we would probably face that issue with other people using
yeah, good point, we already have running for some days on nightly, so I suppose some people would already have complains :thinking_face: