Clojure Goes Brrr: a quest for performance (by Oleksandr Yakushev)
HTML-код
- Опубликовано: 7 фев 2025
- The London Clojurians are happy to present:
Title: Clojure Goes Brrr: a quest for performance
Speaker: Oleksandr Yakushev
Oleksandr Yakushev ( / unlog1c ) will be presenting:
"Clojure Goes Brrr: a quest for performance"
Oleksandr will do a live demo of using the tools from
Clojure Goes Fast umbrella to tackle a life-like programming task. He
will show how these tools interoperate and complement each other, and
how to integrate them into your regular development workflow.
Oleksandr has been involved in the Clojure community since 2012. He
has spent seven years at Grammarly using Clojure full-time for
NLP-related performance-critical tasks. For the last year, Oleksandr
has been serving in the Armed Forces of Ukraine.
Links at the end of the talk:
clojure-goes-fa...
github.com/clo...
github.com/clo...
github.com/clo...
github.com/zte...
gist.github.co...
If you missed this event, you can watch the recording on our RUclips channel:
/ @londonclojurians
(The recording will be uploaded a couple of days after the event.)
Please, consider supporting the London Clojurians with a small donation:
opencollective...
Your contributions will enable the sustainability of the London
Clojurians community and support our varied set of online and
in-person events:
ClojureBridge London: supports under-represented groups discover Clojure
re:Clojure: our *free* to attend annual community conference
monthly meetup events with speakers from all over the world
subscription and admin costs such as domain name & Zoom plan for
larger online meetups
Thank you to our sponsors:
juxt.pro/
flexiana.com/
gaiwan.co/
freshcodeit.com/
nette.io/
nilenso.com/
And many individual sponsors
Great talk, thanks for all this wisdom - pure gold distilled here. Wishing you luck and success in your current mission. 🇺🇦
Londrina Solid and clojure backends! This is my jammmm!
nice talk! , questions: 1) do you have a fancy way to live-add :deps or was your deps.edn pre-prepared? and 2) any particular reason for the java-class, has it better performance than proxy/proxy-super ?
Thank you!
1. In this demonstration, I had all the necessary dependencies in place ahead of time. But I, in fact, indeed have a fancy way to add dependencies on the fly. It is quite brittle at the moment, so I can't really recommend it. However, this is about to change since the latest version of Clojure ships some functions for dynamic deps loading, so we will have an official way to do that soon.
2. I planned to show the proxy solution too but had to cut it out due to lack of time. Calling proxy-super brings noticeable overhead because it calls `update-proxy` internally and modifies some immutable maps. You are welcome to try for yourself! I think, gen-class could be used here for the same performance as pure Java solution, but I also wanted to use this as a usecase for showing off Virgil.