subbu has quit [Ping timeout: 256 seconds]
ahorek[m]1 has joined #jruby
ahorek[m] has quit [Ping timeout: 240 seconds]
andrea[m] has quit [Ping timeout: 240 seconds]
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?
<AndyMaleh[m]> A smaller faster binary
<AndyMaleh[m]> Thankfully, with `jpackage`, I can [package JRuby Desktop GUI apps as native executables](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/docs/reference/GLIMMER_PACKAGING_AND_DISTRIBUTION.md), but they are slow to start.
<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