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
<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