marcheiligers[m] has quit [Ping timeout: 240 seconds]
marcheiligers[m] has joined #jruby
andrea[m] has joined #jruby
subbu has joined #jruby
subbu has quit [Quit: Leaving]
AndyMaleh[m] has joined #jruby
<AndyMaleh[m]>
Hi, thank you for continuing to support JRuby.
<AndyMaleh[m]>
What are JRuby's AOT compilation options in 2022? (I saw several talks in the past years mentioning AOT, but I never learned what the final outcome of those talks was as far as a recommended AOT compilation approach in modern JRubys)
<AndyMaleh[m]>
My requirement scenario is compiling a desktop JVM GUI app into an AOT native executable. What are my options with JRuby with that regards?
<AndyMaleh[m]>
s/with/in/
<AndyMaleh[m]>
* mentioning AOT compilation, but
<headius>
We can AOT Ruby code into JVM bytecode but there are currently not many options for native compilation that work with JRuby
<headius>
As far as I know the only option that compiles Ruby code into a native binary is mruby
<headius>
Is your goal to hide the source or also to get a smaller faster binary?
<headius>
Ah yes I have seen the updates for this on Twitter occasionally
<AndyMaleh[m]>
I recently tried the `--dev` option, and it sped up startup time, but then the app experienced slowdowns during usage, so I stopped using that option.
<headius>
That flag does two major things: It turns off the JRuby jit and it tweaks the JVM jit to a simpler mode
<AndyMaleh[m]>
The value proposition of using JRuby to build JVM GUI Desktop apps is still a good one given that productivity is much higher than writing apps with direct Java, but I was still curious about AOT compilation given that it was mentioned by the JRuby team a number of times in the past.
<headius>
You could just tweak the JVM jit and get a pretty good improvement and we would still optimize the Ruby code
<headius>
Yeah there are various partial options that can be combined to get pretty good, we can try to play with a few of those