Charles Oliver Nutter wrote:
> brabuhr / gmail.com wrote:
>> $ jruby -J-Xmn128m -J-Xms1024m -J-Xmx1024m -J-server SieveOfZakiya.rb
> 
>> Error, could not compile; pass -d or
>> -J-Djruby.jit.logging.verbose=true for more details
> 
> Odd...the main script, or a method in it, must be gi-frigging-gantic to 
> blow out the bytecode cap. Glad to see in your results below that with a 
> bit of tweaking we're on par with 1.9. I'll look into the compilation 
> issue; I know there are a few cases that can still pop the compiler, 
> like really big arrays that require a lot of init.

Yeah, there's several methods there that could easily blow the cap and 
have to remain interpreted. The inability to compile the whole file as a 
result is probably a large part of the lower perf. The algorithm is also 
*extremely* memory-intensive; logging GC on JRuby it had to do multiple 
full collections before the first iteration even came back.

- Charlie