jrafanie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jrafanie has joined #jruby
jrafanie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Puffball has quit [Remote host closed the connection]
jrafanie has joined #jruby
jrafanie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sgeorge has joined #jruby
deobalds has joined #jruby
Eiam has quit [Ping timeout: 276 seconds]
bga57 has quit [Remote host closed the connection]
bga57 has joined #jruby
sgeorge has quit [Remote host closed the connection]
sgeorge has joined #jruby
deobalds has quit [Quit: Computer has gone to sleep.]
deobalds has joined #jruby
sgeorge has quit [Ping timeout: 240 seconds]
rdubya1 has joined #jruby
snowp_ has joined #jruby
phlebas has quit [Ping timeout: 276 seconds]
fidothe_ has quit [Ping timeout: 276 seconds]
phlebas has joined #jruby
amitchellbullard has quit [Ping timeout: 276 seconds]
amitchellbullard has joined #jruby
snowp has quit [Ping timeout: 276 seconds]
snowp_ is now known as snowp
fidothe has joined #jruby
knowtheory__ has joined #jruby
rdubya has quit [Ping timeout: 276 seconds]
knowtheory_ has quit [Ping timeout: 276 seconds]
knowtheory__ is now known as knowtheory_
shellac has joined #jruby
slyphon_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
deobalds has quit [Ping timeout: 260 seconds]
shellac has quit [Quit: Computer has gone to sleep.]
shellac has joined #jruby
deobalds has joined #jruby
deobalds has quit [Quit: Computer has gone to sleep.]
shellac has quit [Quit: Computer has gone to sleep.]
drbobbeaty has joined #jruby
<GitHub134> [jruby] kares pushed 1 new commit to master: https://git.io/fNnWC
<GitHub134> jruby/master 5c280fa kares: [refactor] get rid of date/format's Bag internal - use Hash...
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ahorek has joined #jruby
ahorek has quit [Client Quit]
drbobbeaty has joined #jruby
shellac has joined #jruby
jrafanie has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
jrafanie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ahorek has joined #jruby
slyphon has joined #jruby
ahorek has quit [Client Quit]
sgeorge has joined #jruby
shellac has joined #jruby
<enebo> kares: you know if bad was replaced with a class which just had all those fields defined as named methods it would probably even be faster
<enebo> kares: also we sync lib/ruby/stdlib with a branch on jruby/ruby so changes should be commited there as well so we don't nuke them on next stdlib sync
<enebo> s/bad/bag/
<enebo> kares: my theory is we will inline nicely ruby through ruby
<enebo> kares: although I notice it seems to want to to_hash so hmm I guess I don't know
<GitHub140> [jruby] kares pushed 1 new commit to master: https://git.io/fNnQ8
<GitHub140> jruby/master 9892b3c kares: move Date's s3e internal into native (based on MRI's C impl)
jrafanie has joined #jruby
<GitHub77> [jruby] kares opened issue #5255: Date parsing (still) noticeably slower than MRI https://git.io/fNn7P
<kares> enebo: hey, the internal Bag got away
<kares> if you're refering to that
<kares> hmm jruby/ruby I wonder how much it will matter since these aren't updated by MRI's end
<enebo> kares: yeah I just mean it might be faster to make Bag use real methods than a hash but then I saw it requires being made a hash anyways so I was less sure
<kares> enebo: MRI uses a Hash internally - so I aligned that
<enebo> kares: it only matters that headius will copy that repo over the top of this one so if we have commited date/format or whatever there it will replace on next sync
<kares> there was some time being wasted on method_missing + args boxing but not that much
<enebo> kares: oh yeah I saw that message
<kares> haven't looked further ...
<enebo> kares: I just meant it might inline better as ruby to ruby
<enebo> kares: I don't know if it actually will though :)
<kares> maybe I did that one method since its called at the end of every one and I was able to nuke 3-4 regexp matches
<enebo> oh which method?
<kares> just a simple one s3e let me find a commit
<enebo> oh I see that above
<kares> yep
<enebo> I was only commenting on the bad replacement
<enebo> heh bag
<kares> okay
<kares> bad bag!
<kares> :)
<enebo> yeah I cannot spell bag without a lot of effort
<enebo> some of these formats would be much better served as actual parsers but that is a lot of work :)
<kares> well yeah its also a lot of work moving them around
<kares> haven't done profiling but I expect MRI to be doing the same amount of matching
<enebo> I was also curious in that benchmark ebcause we have been testing against graal a lot lately
<kares> at least I have seen most of it in C - they pbly avoid all of the global $1 etc
<enebo> yeah they probably still use oni for regexps internally?
<kares> heh I guess these changes might matter less on graal
<enebo> yeah I am surprised when it works well or not
<kares> yy internally its pretty much a direct C replacement of what we have in format.rb
<kares> except they avoid some of the garbage
<kares> so its either that or those 'big' regexps do not perform that well
<enebo> an allocation-less parser which sets value into some value object would be the big winner
<enebo> kares: is there a dominant date parse method which rules in RoR? like iso8601?
<kares> yy they use all of those I posted in the benchmark code
<kares> all of them get used iso8601, Date.parse as well as Date._parse
<enebo> this bench took out the _strptimes but those are already reasonably good I think those are also native
<kares> parse/_parse for sure on type extracting from DB
<enebo> ok
<enebo> pretty common type too
<kares> yy those are fine
<enebo> for a db
<kares> yy + Date._parse gets reused for datetime as well - so its not only date columns
<enebo> my default options run is very similar to yours but a little bit faster. My laptop is an i7 from about 1.5 years ago
<enebo> I ran java 8 first too
<kares> my should be newer
<kares> but I think I had -Xmx1G
<enebo> I think indy is not nearly as good in java 9+
<enebo> second run I am trying compile.invokedynamic just to see
<enebo> rehearsal is already 5% faster
<kares> nice
<enebo> parse 68 -> 61s so improvement but not massive
slyphon has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<enebo> parse is 44s on graal CE rc1
<enebo> funny thing I disabled fixnum cache because PEA tends to eliminate the box but it absolutely killed perf for this code
<enebo> I should also point I had not updated to your changes for those runs
<kares> 44? that might be still worse than MRI
<kares> altough nice that it shaves 20s away
<enebo> 29s on graal with your changes
<enebo> 44s was before your two commits
<kares> najs so it made some sense, for now :)
<enebo> MRI 2.5 is 10s so still 3x best result on graal
<enebo> I don't know if 2.6 made opts so it may be worse...I guess I should update some shit
<kares> oh you have 10s ... which one is this _parse?
<kares> there wasn't much work around date in 2.6
<kares> I expect it to be the same as 2.5
<enebo> ok
<enebo> second to last iso8601 on MRI is about same as graal numbers
<enebo> although last one is also about 3x that
<kares> so its likely that they eliminate some regexps along the way
<kares> do you think like joni is on par with oniguruma?
<enebo> elimination of regexp would help us a lot since we need to record frame info
<enebo> kares: I don't know. I remember us being faster in the past for many benches
<kares> ok
<kares> I see they have a custom String#sub
<kares> and avoid "frame" dependance due $1 ...
<kares> so that might be it
<enebo> the first 8601 bench does much better than the rest
<kares> makes sense since it does the least amount of work - only 3 =~ at worst case
<kares> oh but the DateTime version is pretty much the same
<kares> so it must be taking the very happy path - no time seen
<kares> taking a break - will follow up on GH if you find smt interesting :)
<enebo> kares: ok
ahorek has joined #jruby
ahorek has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
shellac has quit [Ping timeout: 244 seconds]
Puffball has joined #jruby
xardion has quit [Remote host closed the connection]
xardion has joined #jruby
slyphon has joined #jruby
shellac has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
shellac has joined #jruby
Eiam has joined #jruby
shellac has quit [Ping timeout: 255 seconds]
Puffball has quit [Read error: Connection reset by peer]
Puffball has joined #jruby
<GitHub42> [jruby] enebo pushed 1 new commit to master: https://git.io/fNcuF
<GitHub42> jruby/master a2bc9a3 Thomas E. Enebo: Speed up DateTime.iso8601 by fast pathing similar to cext in our ruby version....
<lopex> numbers!
<lopex> enebo: !
<enebo> lopex: heya
<lopex> enebo: I posted you fb channel of my brother last time
<lopex> and you complained
<enebo> haha
<enebo> lopex: I just did not know what you were showing me
<enebo> "complained" seems a bit strong :P
<lopex> hehe
<lopex> enebo: hey he's qiote serious
<lopex> look again
<enebo> I do not have the link any more
<enebo> THANKS SO MUCH
<lopex> enebo: YOUR WELCOME
<enebo> lopex: do you live by your brother?
<lopex> ebarrett: but seriously, I'm thinking about sponsoring it
<lopex> enebo: no
<lopex> enebo: well, almost, about 15 km s away
<enebo> 15km is pretty close
<lopex> yep
<lopex> enebo: like 10 minutes by bike
<enebo> like you could bike there in <40 minutes
<enebo> oh 10 minutes :)
<enebo> hmmm
<enebo> you ride faster than me
<lopex> enebo: I'DO
<lopex> I'm thinner than the air
<enebo> well 15km in 10 minutes means 90 in 60 o_O
<enebo> I hope it takes longer on the way back
<lopex> let's take it to 7 km
<enebo> 27mph is still fast but road bikish
<lopex> you got me
<enebo> I half wish I had a road bike
<enebo> I have mountain bike with one road bike sized tire and one commuter tire on it
<lopex> enebo: proove it
<enebo> prove I have that bike with those tires?
<lopex> :P
<enebo> I will send you a picture
<lopex> enebo: how do you call an instant liar in english ?
<enebo> I used to have two tiny tiny tires but I fractured my elbow falling so I put something with more tread on front
<enebo> FUCKING LIAR I think?
<lopex> or constant ?
<lopex> just liar ?
<enebo> pathological liar
<lopex> ok
<enebo> I am assuming that had nothing to do with our bike conversation
<lopex> enebo: hey but ther;s a level of lirar right ?
<lopex> like
<lopex> a one day lier
<lopex> a week lier
<lopex> whatever
<lopex> *liar
<lopex> enebo: WHAT BIKE CONVERSATION
<lopex> headius: enebo wont talk to me
<enebo> lopex: yeah well he is in greece
<enebo> lopex: I think he is seeing the sites this week
<lopex> enebo: been worth a try
<enebo> lopex: those tires kind of lower a mountain bike too low
<lopex> enebo: why are you shwing me a dent ?
<enebo> but it does noticeably speed them up
<enebo> DENT?
<lopex> well, a bike tire whatever you call it
<enebo> I do call them bike tire
<enebo> "I have mountain bike with one road bike sized tire and one commuter tire on it
<enebo> lopex: enebo: proove it"
<lopex> TIRE
<lopex> enebo: I need two seconds to do that
<lopex> enebo: done
<lopex> enebo: oh, and now I already collect royalties for those
<lopex> ok I'm sober now
<enebo> ha
<enebo> Janusz Švach
<lopex> yep my brother in half
<enebo> I feel like you are unnamed in a photo here
<lopex> enebo: dont you know I'm always unnamed
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jrafanie has quit [Ping timeout: 256 seconds]
sgeorge has quit [Remote host closed the connection]
sgeorge has joined #jruby
sgeorge has quit [Ping timeout: 264 seconds]
sgeorge has joined #jruby
sgeorge has quit [Ping timeout: 276 seconds]
sgeorge has joined #jruby
sgeorge has quit [Ping timeout: 244 seconds]
sgeorge has joined #jruby
jrafanie has joined #jruby
jrafanie has quit [Client Quit]
jrafanie has joined #jruby