graalvm

Discuss GraalVM related topics. Use clojure 1.10.2 or newer for all new projects. Contribute to https://github.com/clj-easy/graal-docs and https://github.com/BrunoBonacci/graalvm-clojure. GraalVM slack: https://www.graalvm.org/slack-invitation/.
zilti 2020-10-04T14:34:39.075400Z

Wouldn't it make sense to use FastCGI as interface instead of HTTP for server-side, web content-serving programs that you want to compile with GraalVM? Since it is a so much simpler, more straightforward protocol that doesn't rely on massive and/or complicated Java libraries like Jetty or Apache HTTP

2020-10-05T12:52:01.078100Z

I would be curious to hear what the benefits of FastCGI are over httpkit. I have used it too little to know

zilti 2020-10-05T20:13:24.078300Z

FastCGI is a much more lightweight protocol that has been made for applications running behind an HTTP server. That's basically it. The idea being that it is silly that each application spins up its own HTTP server when they'll all going to be behind an actual, web-facing one.

2020-10-06T11:25:33.078500Z

Ah yeah I see, thanks

borkdude 2020-10-04T14:44:11.076200Z

@zilti Sure, but note that the httpkit webserver is already compatible with GraalVM and quite small in binary size and in terms of memory usage during compilation. It's part of babashka today

borkdude 2020-10-04T14:45:04.076800Z

And so it the web client.

borkdude 2020-10-04T15:01:53.077800Z

@zilti If you want to go down that road: you'll need httpkit with this commit: https://github.com/http-kit/http-kit/commit/6a03df3ecc61be4dcc01d12712346e051620f8b4 or do something like this: https://github.com/borkdude/babashka/blob/master/feature-httpkit-server/babashka/impl/httpkit_server.clj to prevent the runtime require reference, which tends to bloat binaries / spike compile time