cpuguy83 has quit [Ping timeout: 245 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 258 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 245 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 244 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 245 seconds]
cpuguy83 has joined #jruby
lucasb has quit [Quit: Connection closed for inactivity]
cpuguy83 has quit [Ping timeout: 244 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 245 seconds]
Antiarc_ has quit [Remote host closed the connection]
Antiarc has joined #jruby
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 258 seconds]
whitingjr has joined #jruby
aolko has joined #jruby
<aolko> hey there, do you guys have a metaprogramming crutch for `packages` construct?
claudiuinberlin has joined #jruby
shellac has joined #jruby
cpuguy83 has joined #jruby
whitingjr has quit [Ping timeout: 258 seconds]
_whitelogger has joined #jruby
cpuguy83 has quit [Ping timeout: 244 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 245 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 258 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 244 seconds]
whitingjr has joined #jruby
whitingjr has quit [Client Quit]
whitingjr has joined #jruby
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 258 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 244 seconds]
drbobbeaty has joined #jruby
aolko has quit [Ping timeout: 260 seconds]
whitingjr has quit [Ping timeout: 245 seconds]
<headius[m]> Like for importing?
shellac has quit [Quit: Computer has gone to sleep.]
whitingjr has joined #jruby
cpuguy83 has joined #jruby
lucasb has joined #jruby
shellac has joined #jruby
claudiuinberlin has quit [Ping timeout: 272 seconds]
cpuguy83 has quit [Ping timeout: 258 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 245 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 258 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 244 seconds]
cpuguy83 has joined #jruby
victori has quit [Ping timeout: 272 seconds]
victori has joined #jruby
victori has quit [Remote host closed the connection]
cpuguy83 has quit [Ping timeout: 258 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 245 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 244 seconds]
joast has quit [Quit: Leaving.]
xardion has quit [Remote host closed the connection]
xardion has joined #jruby
joast has joined #jruby
cpuguy83 has joined #jruby
shellac has quit [Ping timeout: 250 seconds]
whitingjr has quit [Quit: Leaving.]
cpuguy83 has quit [Ping timeout: 258 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 245 seconds]
<headius[m]> aolko What do you mean?
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 258 seconds]
<headius[m]> kares: I might step away from the lazyfication of JI binding...the branch I have there already reduces overhead and cleaned up a lot of logic that was spread all over the place
<headius[m]> I'll merge in what I have but would appreciate a quick review...might just be easier to look at the new MethodGatherer class that I pulled out from the "State" class that was there before...all the logic is in there, should be easier to start making more of it lazy or caching better
cpuguy83 has joined #jruby
<headius[m]> I documented how .jruby.java_opts files would work, if we include this support: https://twitter.com/headius/status/1163518349848039429
cpuguy83 has quit [Ping timeout: 258 seconds]
KeyJoo has joined #jruby
<kares[m]> sounds good, altough I might have missed the point for optimizing JI binding this far ...
<kares[m]> actually hoped to do pretty much the opposite -> bind all impls of virtual methods (that blocked us from delivering toString like inspect for Java types)
<headius[m]> kares: can you elaborate on that?
<headius[m]> my main goal here was to try to defer as much of the additional method processing until the methods are actually called
<headius[m]> so basically set up the proxy class as fast as possible without chewing on so many methods that we won't actually call
<headius[m]> JI boot time has been an issue, which I think is why you moved a bunch of JI enhancements out of Ruby, right?
<headius[m]> I also wanted to clean this logic up and I think it's much nicer in the PR, even if it doesn't fully make the heavy processing lazy
<headius[m]> in any case further lazy work can build on this, now that it's all sorted out into its own class
<kares[m]> JRuby does little JI on most we do
<kares[m]> and doing JI on JRuby's own types has other issues
<kares[m]> so its best to not do any JI there ...
<kares[m]> JI provided exts are lazy to load
<kares[m]> I think we only load a few, namely Map due org.jruby.util.SystemPropertiesMap
<kares[m]> that one is also unnecessary and could be avoided
<kares[m]> not 100% sure but we could reach zero JI on jruby boot
<headius[m]> I'm getting some numbers on whether this helps startup of JI stuff
<headius[m]> the overarching goal though is reducing JI binding costs to what you actually use
<headius[m]> we process thousands upon thousands of methods evenif you only call one
<headius[m]> yeah it does help
<headius[m]> for --disable-gems --dev -e 1 it's probably in the neighborhood of noise, but I got startup as low as 1.232 versus 1.268
<headius[m]> for -e creating a JFrame total run goes from 3.3 at best to 3.15
<headius[m]> binding more classes will add to that
<kares[m]> okay so its for reducing JI cost specifically for libraries
<headius[m]> yeah that was original goal...I didn't get as far as I wanted but there's a lot of code cleanup and allocation reduction plus a small gain
<headius[m]> I would like to do more to reduce this cost but need to get back to 9.2.9 critical path stuff
<headius[m]> I'll put together a quick report on a few startup cases
<headius[m]> I thikn this also moves us closer to being able to cache on disk a list of all methods for each class, so we just bind them super fast
<headius[m]> like on a per-JDK basis
<headius[m]> general idea is binding all names we would bind, but pushing most processing of Method[] lists to later
<headius[m]> kares: been seeing this in builds lately btw
<kares[m]> bleh, guess Ruby conventions do no translate to Java ... will clean those out
<kares[m]> had a clash of not using the proper block variable when there was nesting - so I started naming the unused ones, well Ruby style
<headius[m]> you can use $
<headius[m]> "unused" might be better though
<headius[m]> at least I think you can use $
cpuguy83 has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
cpuguy83 has quit [Ping timeout: 244 seconds]
cpuguy83 has joined #jruby
cpuguy83 has quit [Ping timeout: 268 seconds]
<headius[m]> kares: oh btw I think I'm also seeing a lot of deprecation warnings from your builtin changes
<headius[m]> [WARNING] /Users/headius/projects/jruby/core/src/main/java/org/jruby/RubyClass.java:[630,37] [deprecation] retrieveCache(RubyClass) in CachingCallSite has been deprecated
<headius[m]> etc
<headius[m]> I made a couple more tweaks to the JI binding PR and will merge if there's no other issues
cpuguy83 has joined #jruby