ChanServ changed the topic of #jruby to: Get 9.0.1.0! http://jruby.org/ | http://wiki.jruby.org | http://logs.jruby.org/jruby/ | http://bugs.jruby.org | Paste at http://gist.github.com
<travis-ci> jruby/jruby (master:36bdc01 by Chris Seaton): The build was broken. (https://travis-ci.org/jruby/jruby/builds/80931074)
baroquebobcat has quit [Quit: baroquebobcat]
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 256 seconds]
pietr0 has quit [Ping timeout: 244 seconds]
e_dub has quit [Quit: Leaving]
pietr0 has joined #jruby
e_dub has joined #jruby
enebo has quit [Quit: enebo]
TimTheTinker has quit [Ping timeout: 246 seconds]
camlow325 has quit []
mberg has quit [Ping timeout: 256 seconds]
mberg has joined #jruby
mberg is now known as Guest70188
jensnockert has joined #jruby
_djbkd has quit [Quit: My people need me...]
jensnockert has quit [Ping timeout: 260 seconds]
dinfuehr has joined #jruby
<GitHub4> [jruby] nirvdrum pushed 1 new commit to master: http://git.io/vnknd
<GitHub4> jruby/master 141efda Kevin Menard: [Truffle] $0 and $PROGRAM_NAME should be aliases.
samphippen has joined #jruby
samphipp_ has joined #jruby
samphippen has quit [Ping timeout: 240 seconds]
dinfuehr has quit [Remote host closed the connection]
dinfuehr has joined #jruby
samphipp_ has quit [Read error: Connection reset by peer]
brauliobo has quit [Ping timeout: 252 seconds]
Aethenelle has joined #jruby
samphippen has joined #jruby
samphippen has quit [Read error: Connection reset by peer]
colinsurprenant has joined #jruby
bb010g has joined #jruby
Aethenelle has quit [Quit: Aethenelle]
yfeldblum has quit [Remote host closed the connection]
mikemar10 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
havenwood has joined #jruby
<GitHub58> [jruby] nirvdrum pushed 1 new commit to master: http://git.io/vnkVj
<GitHub58> jruby/master 94664fc Kevin Menard: [Truffle] Avoid converting an IRubyObject to initialize $0.
colinsurprenant has quit [Quit: colinsurprenant]
<travis-ci> jruby/jruby (master:94664fc by Kevin Menard): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/80953259)
pawnbox has joined #jruby
mikemar10 has joined #jruby
jensnockert has joined #jruby
jensnockert has quit [Ping timeout: 244 seconds]
yfeldblum has joined #jruby
<GitHub102> [jruby] kares pushed 3 new commits to master: http://git.io/vnk1j
<GitHub102> jruby/master 793fb03 kares: make test_module.rb a "real" unit test-case
<GitHub102> jruby/master 4f7b0e3 kares: match the "unified" frozen error messages MRI 2.2 seems to be using (for now)
<GitHub102> jruby/master 05b5af2 kares: dry out private_constant/public_constant and make sure it respects frozen state
nirvdrum has quit [Ping timeout: 264 seconds]
pawnbox has quit [Remote host closed the connection]
yfeldblum has quit [Ping timeout: 265 seconds]
mikemar10 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
thedarkone2 has quit [Quit: thedarkone2]
<travis-ci> jruby/jruby (master:4f7b0e3 by kares): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/80956695)
owenou has joined #jruby
owenou has left #jruby [#jruby]
rsim has joined #jruby
pawnbox has joined #jruby
yfeldblum has joined #jruby
yfeldblum has quit [Ping timeout: 260 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox_ has joined #jruby
pawnbox has quit [Ping timeout: 264 seconds]
jensnockert has joined #jruby
pawnbox_ has quit [Read error: Connection reset by peer]
pawnbox has joined #jruby
jensnockert has quit [Ping timeout: 246 seconds]
jensnockert has joined #jruby
pawnbox has quit [Remote host closed the connection]
yfeldblum has joined #jruby
yfeldblum has quit [Ping timeout: 240 seconds]
jensnockert has quit [Remote host closed the connection]
yfeldblum has joined #jruby
skade has joined #jruby
skade has quit [Client Quit]
dinfuehr has quit [Remote host closed the connection]
yfeldblum has quit [Ping timeout: 256 seconds]
skade has joined #jruby
zz_denym_ is now known as denym_
skade has quit [Quit: Computer has gone to sleep.]
dinfuehr has joined #jruby
dinfuehr has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox_ has joined #jruby
pawnbox has quit [Ping timeout: 250 seconds]
pawnbox_ has quit [Remote host closed the connection]
blaxter has joined #jruby
havenwood has quit [Ping timeout: 250 seconds]
tenderlove has quit [Ping timeout: 265 seconds]
jensnockert has joined #jruby
skade has joined #jruby
jensnockert has quit [Read error: Connection reset by peer]
pawnbox has joined #jruby
jensnockert has joined #jruby
vtunka has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
jensnockert has quit [Read error: Connection reset by peer]
yfeldblum has joined #jruby
yfeldblu_ has joined #jruby
jensnockert has joined #jruby
yfeldblum has quit [Ping timeout: 246 seconds]
<GitHub183> [jruby] tandibar opened issue #3338: JRuby 9.0.1.0 #to_ary should return Array http://git.io/vnIKy
CustosL1men has joined #jruby
jensnockert has quit [Read error: Connection reset by peer]
CustosL1men has quit [Ping timeout: 272 seconds]
jensnockert has joined #jruby
drbobbeaty has joined #jruby
CustosL1men has joined #jruby
skade has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jensnockert has quit [Read error: Connection reset by peer]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
<GitHub142> [jruby] chrisseaton pushed 1 new commit to master: http://git.io/vnLU5
<GitHub142> jruby/master 93224fc Chris Seaton: [Truffle] Findbugs.
jensnockert has joined #jruby
pawnbox_ has joined #jruby
pawnbox has quit [Ping timeout: 240 seconds]
justinmcp_ has quit []
CustosL1men has quit [Ping timeout: 264 seconds]
pawnbox has joined #jruby
pawnbox__ has joined #jruby
pawnbox_ has quit [Read error: Connection reset by peer]
pawnbox__ has quit [Remote host closed the connection]
pawnbox has quit [Read error: Connection reset by peer]
pawnbox has joined #jruby
tenderlove has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
CustosL1men has joined #jruby
<travis-ci> jruby/jruby (master:93224fc by Chris Seaton): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/80986034)
jensnockert has quit [Ping timeout: 265 seconds]
jensnockert has joined #jruby
cremes has quit [Read error: Connection reset by peer]
cremes has joined #jruby
jensnockert has quit [Read error: Connection reset by peer]
jensnockert has joined #jruby
samphippen has joined #jruby
pitr-ch has quit [Read error: No route to host]
pitr-ch has joined #jruby
jensnockert has quit [Read error: Connection reset by peer]
skade has joined #jruby
pitr-ch_ has joined #jruby
jensnockert has joined #jruby
pitr-ch has quit [Ping timeout: 246 seconds]
pitr-ch has joined #jruby
pitr-ch_ has quit [Ping timeout: 255 seconds]
drbobbeaty has joined #jruby
havenwood has joined #jruby
jensnockert has quit [Read error: Connection reset by peer]
jensnockert has joined #jruby
jensnockert has quit [Read error: Connection reset by peer]
jensnockert has joined #jruby
blaxter has quit [Quit: foo]
<pitr-ch> headius I am reading the updated concurrent wiki page. Do you have time for couple of questions?
<pitr-ch> I really like that this is now explicitly mentioned +1 :)
jensnockert has quit [Read error: Connection reset by peer]
<pitr-ch> I am concerned about conversation we had in https://github.com/ruby-concurrency/concurrent-ruby/pull/284#discussion_r29390136 or rather about its implication if its correct.
<GitHub159> [jruby] eregon pushed 2 new commits to master: http://git.io/vnLV6
<GitHub159> jruby/master 8a8385a Benoit Daloze: [Truffle] Oragnize imports.
<GitHub159> jruby/master 5d79e12 Benoit Daloze: [Truffle] Fix some type safety warnings.
pawnbox_ has joined #jruby
jensnockert has joined #jruby
pawnbox has quit [Ping timeout: 240 seconds]
skade has quit [Quit: Computer has gone to sleep.]
<pitr-ch> headius I assume that https://github.com/jruby/jruby/blob/master/core/src/main/java/org/jruby/runtime/ivars/VariableAccessor.java#L110-L115 is the only path used to access instance variables, do I assume correctly?
jensnockert has quit [Read error: Connection reset by peer]
jensnockert has joined #jruby
skade has joined #jruby
bbrowning_away is now known as bbrowning
skade has quit [Quit: Computer has gone to sleep.]
markbrazil has joined #jruby
<travis-ci> jruby/jruby (master:5d79e12 by Benoit Daloze): The build was fixed. (https://travis-ci.org/jruby/jruby/builds/80997703)
jensnockert has quit [Read error: Connection reset by peer]
samphippen has quit [Read error: Connection reset by peer]
<GitHub107> [jruby] eregon pushed 2 new commits to master: http://git.io/vnLyJ
<GitHub107> jruby/master 8ea6782 Benoit Daloze: [Truffle] OM Processor: emit warnings for generic type casts.
<GitHub107> jruby/master 1caf5f8 Benoit Daloze: [Truffle] Fix type safety for the funny encoding iterators.
jensnockert has joined #jruby
colinsurprenant has joined #jruby
yfeldblu_ has quit [Ping timeout: 240 seconds]
knu_ has quit [Read error: Connection reset by peer]
tcrawley-away is now known as tcrawley
knu has joined #jruby
<GitHub96> [jruby] eregon pushed 2 new commits to master: http://git.io/vnLd8
<GitHub96> jruby/master 6d1ae08 Benoit Daloze: [Truffle] Remove unused imports.
<GitHub96> jruby/master 0fb0457 Benoit Daloze: [Truffle] Remove unused variable.
jensnockert has quit [Remote host closed the connection]
markbrazil has quit [Quit: Leaving]
pawnbox_ has quit [Read error: Connection reset by peer]
pawnbox has joined #jruby
nirvdrum has joined #jruby
pawnbox_ has joined #jruby
pawnbox has quit [Ping timeout: 252 seconds]
pawnbox has joined #jruby
lance|afk is now known as lanceball
pawnbox_ has quit [Ping timeout: 256 seconds]
nateberkopec has joined #jruby
Aethenelle has joined #jruby
nateberkopec has quit [Ping timeout: 255 seconds]
colinsurprenant has quit [Quit: colinsurprenant]
samphippen has joined #jruby
quadz has quit [Ping timeout: 240 seconds]
quadz has joined #jruby
jensnockert has joined #jruby
jensnockert has quit [Remote host closed the connection]
jensnockert has joined #jruby
jensnockert has quit [Remote host closed the connection]
pawnbox_ has joined #jruby
pawnbox has quit [Ping timeout: 264 seconds]
jensnockert has joined #jruby
Guest70188 is now known as mberg
pawnbox_ has quit [Remote host closed the connection]
jensnockert has quit [Ping timeout: 246 seconds]
enebo has joined #jruby
Aethenelle has quit [Quit: Aethenelle]
pawnbox has joined #jruby
thedarkone2 has joined #jruby
rsim1 has joined #jruby
<enebo> rsim: did you see commits to jnr-posix?
<enebo> rsim: long paths never worked
rsim has quit [Ping timeout: 248 seconds]
<enebo> alrighy then :)
nateberkopec has joined #jruby
<rsim1> enebo: Hi! So as I understand now you have removed //?/ at all as it didn't work for all long path cases anyway?
<enebo> rsim1:
<enebo> heh
<enebo> rsim1: yeah
<enebo> rsim1: I am not re-impling using windows GetFileAttributesExW which I think just works in all path lengths
<enebo> rsim1: this also appears to be what MRI is doing too
rsim1 is now known as rsim
<enebo> rsim: So fun bit is that long paths do not even work on _wstat64
<enebo> rsim: weird we have not gotten reports on that…I am guessing most people work around it
Aethenelle has joined #jruby
<rsim> enebo: so it is too hard to implement Windows long path support and therefore you won't do it in the nearest future?
<enebo> rsim: I am doing it this morning using GetFileAttributesExW
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<enebo> rsim: I almost had it written last night but I need to write some translation code btween time formats
<rsim> enebo: ah, so there is a hope that it will work in the next version? :)
<enebo> rsim: yeah definitely
<rsim> enebo: great, thanks :)
<enebo> rsim: not that appveyor is up and green for jnr-posix I think it will be more enjoyable iterating on this
vtunka has quit [Quit: Leaving]
<enebo> rsim: windows is a platform which is not fun to support but we realize it is a signitficant differentiator for us to support it well
<rsim> enebo: we need to create a quickfix for the issue with UNC path and mkdir_p - I am thinking that we could patch WindowsHelpers.java and replace compiled WindowsHelpers.class in jruby-complete.jar
<enebo> rsim: we do not have same native extension issues as MRI so we I think end up being more attractive on windows
<rsim> enebo: I think that there is no other workaround how to fix it in JRuby 1.7.22, right?
<enebo> rsim: I noticed MRI will remove //?/ from any path it finds before calling this (seemingly missing the //?/UNC/ one
<enebo> rsim: yeah I don’t think so. If you need to deploy this against 1.7.22 and 1.7.23 (not out yet) you will probably want some version guard around it
<enebo> rsim: I will also ask if you can test this before we decide to put out 1.7.23
<enebo> rsim: but then you can make sure your monkeypatch will work on both versions
<rsim> enebo: currently we will just remove this path = "//?/" + path; line as for us the critical thing is that some customers have UNC path but not long path
<rsim> enebo: and we can help to test JRuby 1.7.23 before the release to check that it works with long path names
<enebo> rsim: ah so that may actually not break anything across versions (although you may not want to monkey patch it forever)
<enebo> rsim: that method now is just a single return line with no isAbsolute check
samphippen has joined #jruby
<rsim> enebo: BTW today I got another strange JRuby issue. When I got the NameError in one of the threads in my thread pool then NameError to_s or inspect or message methods fail with NullPointerException and with this very long stack trace https://gist.github.com/rsim/896cd46913ab1422e366
nirvdrum has quit [Ping timeout: 240 seconds]
colinsurprenant has joined #jruby
<rsim> enebo: didn't manage to reproduce it with a smaller test case
<enebo> rsim: so some NameError is being thrown and it is inspecting the object and hitting something which is null
<enebo> rsim: so you know as much as me with this
<enebo> rsim: -Xreify.classes=true you can try this and see if the stack uncovers more info for you
camlow325 has joined #jruby
rcvalle has joined #jruby
samphippen has quit [Ping timeout: 240 seconds]
donV has joined #jruby
samphippen has joined #jruby
<headius> rsim: hi there! Going to be at OOW?
denym_ is now known as zz_denym_
havenwood has quit [Ping timeout: 240 seconds]
<pitr-ch> headius hi, did you get my messages earlier?
<lopex> headius, enebo might be useful http://techblog.netflix.com/2015/07/java-in-flames.html ?
bb010g has quit [Quit: Connection closed for inactivity]
<enebo> lopex: yeah I saw this a while ago….I wonder how tall our flames would look :)
<enebo> lopex: -XX:+PreserveFramePointer. seems like an interesting aspect. I find our Java profilers missing DARK MATTER
<enebo> lopex: maybe this helps give a more accurate picture
<lopex> enebo: does that matter really matter
<enebo> MATTER
<enebo> lopex: you know it does!
<lopex> does it matter that it does ?
<lopex> enebo: I always see waits
<enebo> lopex: I fear recursion in this conversation so I am NPE’ing
<lopex> enebo: just tail recur
<enebo> lopex: yeah I wish I could omit wait from profiles
<lopex> or trampoline!
<tarcieri> _____ ____ ___ ____ _ __ ___ _ _
<tarcieri> | ___| _ \|_ _| _ \ / \\ \ / / | | |
baroquebobcat has joined #jruby
<tarcieri> | |_ | |_) || || | | |/ _ \\ V /| | | |
<tarcieri> | _| | _ < | || |_| / ___ \| | |_|_|_|
<tarcieri> |_| |_| \_\___|____/_/ \_\_| (_|_|_)
<tarcieri>
<lopex> enebo: did you see that barley wine I posted ?
<lopex> from de molen
<rtyler> yisss
<lopex> riss
samphippen has quit [Ping timeout: 252 seconds]
<enebo> lopex: maybe at same time a mexican cake?
samphippen has joined #jruby
<lopex> enebo: there's four different bombs and grenades
<lopex> from de molen
<enebo> lopex: nice. I am jealous
<lopex> enebo: that one had some honey flavor
dinfuehr has joined #jruby
<lopex> enebo: no, I'm not having a beer this week
<lopex> *end
shellac has joined #jruby
<enebo> lopex: I was dieting the last week but will not be next week
<lopex> enebo: wow, just look at this http://www.ratebeer.com/brewer/4448/sort/3/
<lopex> sorte by abv
<lopex> first page is >12
<enebo> some are repeats aged in diff barrels but yeah…
<lopex> and some retired
<enebo> they do not drop below 10 until page 4
<headius> pitr-ch: looking now
<headius> pitr-ch: wow, seems like everyone has a take on ivar volatility today
<headius> my position is that it sucks that we have to make them volatile by default but we don't really have another option
<pitr-ch> headius I am sorry if I am dragging you again into sam conversation
<pitr-ch> *same
<headius> no, it's a good conversation to have
<headius> thedarkone2 is concerned too
<headius> the fact is, we've had this volatile ivar code in place for a couple years now
<headius> it doesn't seem to be holding us back in general
<pitr-ch> headius yeah we already talked, it turned out we are both from Czech republic :)
<headius> hah good
<pitr-ch> headius I have to concerns, 1. that it might close door for future optimisation in JRuby but also in Ruby community in generally since people will rely on it more
<pitr-ch> *to->two
<pitr-ch> I am trying to put together a ruby memory model common for all implementations where ivars would be non-volatile
<pitr-ch> volatile fields would be provided by a layer in concurrent-ruby
<headius> well I did try to make this only a soft guarantee but I know saying it at all means people will rely on it :-(
<pitr-ch> this is already implemented, documentation is lacking though
<headius> hmmmm I see
<pitr-ch> documentation is comming soon though, it has to be in place for this sicussion to continue and for rubyconf
<pitr-ch> *discussion
<pitr-ch> did anybody did some testing with removed fences/volatilePut on write path (when the ivar array does not change length)
<pitr-ch> I guess that I could hurt JRuby's performance in future
<pitr-ch> *it could
<pitr-ch> headius what do you think?
<pitr-ch> regarding concurrent-ruby it does not matter if ivars are volatile or not, I can just change JRuby's implementation of Synchronisation layer to match the behaviour.
<pitr-ch> 2. concern is that the current implementation might not be save in JMM terms, since ivar read is alway just plain memory read. This is most probably fine on x86 but on other platforms it could cause problems. Or even on x86 if JVM manages to move the ivar read from a loop, i do not have a test case for that.
jensnockert has joined #jruby
<headius> pitr-ch: it would be worth testing...I believe when we added it we didn't see a big performance change though
<headius> would you like to give it a try?
dinfuehr has quit [Remote host closed the connection]
<pitr-ch> I could, if it turns out to have impact, would you consider to remove the ivar volatility? or would you rather avoid confusion?
<headius> well I'd like to know this sooner rather than later and deal with it right now
<headius> my concern about removing the volatility now is that there's untold amounts of code out there depending on it without realizing it
<headius> of course, if it's actually needed we should be able to produce a failure case too
<pitr-ch> yeah definitely, I'll do some testing today
jensnockert has quit [Ping timeout: 244 seconds]
<pitr-ch> if JRuby drops it in future it will probably have to be done loudly so people know to expect problems
<headius> right
<headius> and since it's there in 1.6, 1.7, 9k, it would probably have to remain until 9k+1
<pitr-ch> and concurrent-ruby should be prepared to help
<headius> and potentially be something a user can turn back on
<headius> -Xvolatile.ivars
<headius> or something
<pitr-ch> yeah, I would only like to test the performance now if makes sense to remove the guarantee form the wiki page to open the doors for optimisation again
<pitr-ch> yeah that could help with transition
<pitr-ch> ok so I am off to do some testing :) and I'll let you know
<headius> ok thank you!
<headius> we need to reopen this discussion with matz and ko1 at rubyconf
<pitr-ch> yeah definitely
<pitr-ch> I would like to start sooner
<pitr-ch> though
lanceball is now known as lance|afk
<pitr-ch> I'll write up a memory model we use in concurrent-ruby as a starting point
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<enebo> headius: pitr-ch: I don’t think ko1 will be at rubyconf
<headius> jiggawhat?
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
shellac has quit [Ping timeout: 256 seconds]
rsim has quit [Quit: Leaving.]
CustosL1men has quit [Ping timeout: 255 seconds]
havenwood has joined #jruby
rsim has joined #jruby
dinfuehr has joined #jruby
dinfuehr has quit [Remote host closed the connection]
dinfuehr has joined #jruby
lance|afk is now known as lanceball
<rsim> headius: No, I will not be at OOW. I will be later in San Francisco during Nov 3-6, on that week there will be Atlassian Summit conference
<headius> ahhh too bad
nirvdrum has joined #jruby
jensnockert has joined #jruby
colinsurprenant has quit [Quit: colinsurprenant]
<nirvdrum> headius: I grabbed lunch with Pat Shaugnessy today. He wanted me to say "hi."
<headius> oh cool, haven't chatted with him in a while
<nirvdrum> I just met him for the first time through a mutual contact.
jensnockert has quit [Ping timeout: 246 seconds]
oblutak has joined #jruby
baroquebobcat has quit [Quit: baroquebobcat]
<pitr-ch> headius the results indicate difference 15% when writes are not checked
<headius> ok, so not enormous but not small
<headius> it may have more impact for contended reads and writes...how did you test?
<headius> I assume this was on java 8, so fullFence impl
<pitr-ch> yeah it was java 8 with fences
<pitr-ch> class A
<pitr-ch> def initialize; @v = 0 end
<pitr-ch> def inc; @v += 1; end
<pitr-ch> end
<pitr-ch> Benchmark.bm 10 do |b|
<pitr-ch> loop { b.report('ivar') { a = A.new; 50_000_000.times { a.inc } } }
<pitr-ch> end
<headius> ok
<pitr-ch> I've let it run until the numbers stabilized
<headius> that's actually a bigger impact than I expect since it's also allocating fixnums there
tcrawley is now known as tcrawley-away
<headius> try it just swapping two ivars
<GitHub99> [jruby] nirvdrum pushed 1 new commit to truffle-head: http://git.io/vnm4o
<GitHub99> jruby/truffle-head 3cb094f Kevin Menard: [Truffle] Upgraded to a newer version of Truffle.
<headius> and put several calls in the block so the overhead of the block itself isn't as large
<pitr-ch> ah right blocks ... :)
<travis-ci> jruby/jruby (truffle-head:3cb094f by Kevin Menard): The build has errored. (https://travis-ci.org/jruby/jruby/builds/81060987)
<pitr-ch> headius I'll use while that should have lesser overhead
<headius> it will still be allocating fixnums, so do more work per iteration to compensate
<headius> we probably should have better optimization for numeric loops but they're pretty unusual to see in real code :)
baroquebobcat has joined #jruby
<pitr-ch> now I see 30% with 10 swaps per iteration
tcrawley-away is now known as tcrawley
subbu is now known as subbu|lunch
<headius> what's the overall time for how many swaps?
<headius> I'd like to understand the impact in terms of nanoseconds
<pitr-ch> it's 10_000_000 * 10 swaps per iteration, original code takes 6.23sec
<pitr-ch> ... computing
<pitr-ch> hard to say from this, it's 1.605 microsec per swap so 30% from that is
dinfuehr has quit [Remote host closed the connection]
<pitr-ch> so the speed up is 481 nanosec per swap
<travis-ci> jruby/jruby (truffle-head:3cb094f by Kevin Menard): The build has errored. (https://travis-ci.org/jruby/jruby/builds/81060987)
<pitr-ch> headius does that help ?
<headius> yeah thank you
<headius> so I think it would be valuable then to explore whether we can actually see volatility fix something
<pitr-ch> fix something?
<nirvdrum> enebo, lopex: I think I asked about this before, but should ConvertBytes still have a non-19 case?
<headius> pitr-ch: I mean prove that we need volatile ivars in the first place
<headius> there's so much dynamic noise in ivar access that I wonder whether it's even possible to break it
pawnbox_ has joined #jruby
<headius> e.g. there's safepoints around accesses even with invokedynamic on
<enebo> nirvdrum: I don’t recall
colinsurprenant has joined #jruby
<headius> nirvdrum: follow the money
<headius> if we don't use it, then the answer is no :-)
<headius> if we do, maybe we shouldn't
<enebo> well that is a tougher Q
<headius> most of the time the 19 logic is the right logic but there's a few places where we use both versions for a good reason
<enebo> we have some US-ASCII cases where there is no need to checking anything other than clean 7
<enebo> perhaps we should actually make a new method name just to make that distinction clear htough
pawnbox has quit [Ping timeout: 246 seconds]
<headius> pitr-ch: maybe we should move this to concurrent-ruby
<headius> everyone interested can be in there easily
<lopex> and some non 19 versions in string remain as specialized optz
<headius> lopex: right
<enebo> nirvdrum: lopex: we should priobably make a new name in convertbytes which is clear it is for simple case
<lopex> if thei're still there :)
<enebo> yeah
<enebo> as it is if we use any non-19 methods for working with bytes we cannot see that we did it as an opt as a glance
<lopex> enebo: they were just reused
brauliobo has joined #jruby
<lopex> hmm, I have an app under torquebox/rack in a docker
<lopex> and it's visible via apache https with mod_proxy
<lopex> on host machine
<enebo> lopex: yeah I get that but we can rename and deprecate plain name
<lopex> sometimes chrome looses the session
<lopex> and only chrome only for https
<lopex> should I be worried ?
<nirvdrum> headius: It's used. But I have a hard time telling if it's a bug or just some weird backwards-compat behavior.
<nirvdrum> Some of the StringSupport methods are like that.
<nirvdrum> Ahh, you guys already covered that. I need to read faster :-)
tcrawley is now known as tcrawley-away
samphippen has joined #jruby
robbyoconnor has quit [Ping timeout: 246 seconds]
<headius> nirvdrum: what's using it?
<headius> I have fixed a few places over the years that shouldn't be
<headius> it would be interesting to see how much e.g. rails does reads versus writes of ivars
<nirvdrum> RubyNumeric#str2inum and RubyString#stringToInum.
<nirvdrum> One clear example, back-to-back, is RubyString#oct and RubyString#hex.
<nirvdrum> The former uses stringToInum while the latter uses stringToInum19.
<nirvdrum> Wherever we land this time, I'm adding a comment so it's not confusing in the future :-)
brauliobo_ has joined #jruby
brauliobo has quit [Ping timeout: 264 seconds]
yfeldblum has joined #jruby
yfeldblum has quit [Ping timeout: 240 seconds]
<nirvdrum> headius: It looks like oct shouldn't be using the 1.8 variant.
<nirvdrum> I guess there isn't a spec for this.
dinfuehr has joined #jruby
baroquebobcat_ has joined #jruby
baroquebobcat has quit [Ping timeout: 240 seconds]
baroquebobcat_ is now known as baroquebobcat
dinfuehr has quit [Ping timeout: 255 seconds]
subbu|lunch is now known as subbu
jensnockert has joined #jruby
pawnbox_ has quit [Remote host closed the connection]
samphippen has quit [Ping timeout: 240 seconds]
samphippen has joined #jruby
jdantonio has joined #jruby
jensnockert has quit [Ping timeout: 250 seconds]
<headius> colinsurprenant: how inconvenient would it be if you had to use something like attr_volatile to mark an instance variable as volatile?
<headius> as we discussed, JRuby's had volatile ivars for a long time, but now it sounds like we take a 30% hit on the cost of writing instance vars as a result
<headius> how much lost app performance that translates to is not clear
<colinsurprenant> headius: i think it would actually be good and make it explicit
<headius> you might want to stop into concurrent-ruby gitter
<colinsurprenant> joining
<colinsurprenant> ok, bug thread :P
<colinsurprenant> *big
<headius> colinsurprenant: yeah, good discussion
<nirvdrum> Bah. I thought this was happening in #concurrent-ruby :-(
<headius> you don't need to read all of it but we're talking about the state of the art right now and considering paths forward
<nirvdrum> I was wondering why everyone was so quiet.
<headius> nirvdrum: oh hahah
<headius> sorry
<headius> I idle in the gitter
<nirvdrum> I'll just fire up my 6th chat client now.
<nirvdrum> The future sucks.
<headius> it sure does
<headius> this shit was all consolidating too
<headius> I finally got down to a single IM account, and then group chat fragmented all to hell
jdantonio has quit []
<nirvdrum> Now I have pidgin, hexchat, skype, hipchat, slack, and gitter.
<nirvdrum> I need to dedicate like 1.5 GB RAM just to chat clients.
<headius> I only have IM, IRC, and Gitter clients at this point
samphippen has quit [Ping timeout: 240 seconds]
<headius> Skype is such a POS I gave up running it
samphippen has joined #jruby
lea has quit [Ping timeout: 264 seconds]
camlow32_ has joined #jruby
CustosL1men has joined #jruby
<lopex> nirvdrum: but but, Gates said you wouldnt need
camlow325 has quit [Ping timeout: 268 seconds]
jensnockert has joined #jruby
<nirvdrum> I needed to install Slack because Mac users like it. But each channel takes up 200 MB. HipChat has a native client, but it crashes regularly. Skype has been suprisingly solid, but I would like a way to pay to have the ads removed.
rsim has quit [Quit: Leaving.]
jensnockert has quit [Ping timeout: 252 seconds]
tcrawley-away is now known as tcrawley
<headius> @lopex I was marveling yesterday that the 512MB in my crappy old Nook Color table is woefully inadequate to even read books on
tcrawley is now known as tcrawley-away
<headius> what the hell has happened to us
<headius> table=tablet
<enebo> OMG I am boiling some ocean
<enebo> getting close to trying this out though
<headius> enebo: windows stat?
<headius> I'm deep into this volatility discussion
<enebo> yeah it is a lot more code than I thought
<headius> what do you think of attr_accessor :foo, model: volatile
<enebo> but I have handle and path stat written
<enebo> does it work? who knows
<headius> model used here because there would also be model: atomic in the future probably
<enebo> headius: yeah I like the idea but we need to lobby for this
<headius> in this case it may be an easy lobby... volatile ivars on MRI are a no-op
<headius> since they have memory barriers on thread switch
<enebo> it is also mildly interesting to see ‘attr_accessor :one, :two, model: volatile
<enebo> but it works
bbrowning is now known as bbrowning_away
<headius> yeah
<enebo> headius: my only caveat is attr_* is detined to be rewritten in Ruby
<enebo> and hopefully soon
<enebo> headius: so this may mean IR may need more instrs or at least a flag to generate volatile or not
<enebo> but that is not a big problem just something which will get run into
<headius> enebo: actually it would be simpler than that in JRuby proper
<headius> our current variable accessor is volatile... all model: volatile would do is use it
samphippen has quit [Read error: Connection reset by peer]
<headius> set up the var table with StampedVariableAccessor (as we have now) and reduce non-volatile ivars to use a simple version
<headius> probably in a semi-major release of JRuby
samphippen has joined #jruby
<enebo> ok
<rtyler> http://jruby-gradle.org/news/2015/09/18/jruby-gradle-1-1/ tell all your friends plz kthx bai
<enebo> huzzah!
lea has joined #jruby
<rtyler> we're a lot closer to 'native' gem resolution in gradle, which is exciting
<lopex> headius: that's a remote product aging
dinfuehr has joined #jruby
samphippen has quit [Read error: Connection reset by peer]
dinfuehr has quit [Ping timeout: 252 seconds]
samphippen has joined #jruby
yfeldblum has joined #jruby
mikemar10 has joined #jruby
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
camlow32_ has quit [Remote host closed the connection]
camlow325 has joined #jruby
robbyoconnor has joined #jruby
<enebo> HAHAHA no way…this worked first run
samphippen has joined #jruby
robbyoconnor has quit [Client Quit]
<enebo> THERE IS NO WAY THAT CAN BE RIGHT…although we do not confirm contents of the stats (I don’t think)
dinfuehr has joined #jruby
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
<headius> enebo: some of ths specs do for sure
<headius> but I don't know what level of detail
<headius> enebo: what do you think of this alternative:
<headius> class X; volatile :foo; end
<headius> thedarkone2 had a concern about tying volatility declaration to attrs, which usually are used to make an ivar public
<headius> it still works fine with attrs too: volatile attr_accessor :foo
<lopex> at parse time ?
<enebo> headius: what does attr_accessor :foo, :bar return an array?
<headius> it does
<headius> lopex: doesn't need to be at parse time
<headius> none of that other crap is in Ruby
<enebo> headius: I guess there is a race though right?
<headius> volatile would, in JRuby, just set up the variable table to use a volatile accessor
<headius> enebo: which race do you mean?
<enebo> volatile is set after the attr is already defined
<lopex> singletons classes dont complicate that right ?
<headius> yes, but attr_accessor in JRuby doesn't currently do anything to variable table
<enebo> nearly impossible but something could aceess between those two points :)
<headius> it's still lazy
<headius> volatile would force table to populate that entry with a volatile accessor
<enebo> headius: well so then lazy is semantic?
samphippen has quit [Quit: Textual IRC Client: www.textualapp.com]
<enebo> still is a race
<headius> sure, I see what you mean
<enebo> just one probably not worth worrynig about
<headius> right
<headius> this is definitely something you'd want to do before first object construction
<enebo> headius: that also does beg that someone can call it at any time
<headius> that's true
<headius> I don't think there's a way to avoid that though
<headius> and it may not matter
<enebo> yeah let’s make Ruby statically typed
<headius> it would be like having a field in Java that's initially not marked volatile, but you later use Unsafe to access it
<headius> i.e. don't do that
<rtyler> where do I vote on making ruby statically typed?
<lopex> headius: an hour ago I was about to propose that for fun
<rtyler> is there a survey monkey ink? xD
<headius> rtyler: quiet you
<enebo> GO BACK TO RGOOVY
<rtyler> heh
<enebo> :)
<enebo> OR MIRAH…YOUR PICK
<headius> RGOOVY sounds great
<headius> that should be the name for statically-typed ruby
<headius> rtyler: yeah when are you going to start working on mirah-gradle
<enebo> RGOOPY
<lopex> php also goes that direction
<enebo> GROOPY
<headius> they should just start calling the statically typed PHP "Hiphop", after the VM
<headius> rather than Hack
<enebo> or RunDMC
<lopex> but hack is another language really
<headius> yeah I suppose so
<enebo> So my temp file says it is from 2009 and it is a massive size :|
<rtyler> headius: unclear, mirah would have to reach a point to completely and utterly piss me off
<headius> so I guess statically-typed PHP doesn't really have a name
<rtyler> jruby/gradle comes from a place of angry, not love :P
<enebo> so I am not quite getting the struct mapped perhaps
<headius> rtyler: hah ok, I'll look into that
<headius> enebo: hahah
<headius> it's your 2009 torrent of dragonball z
<lopex> rtyler: does spring still prefer gradle ?
<headius> (I was forced to torrent dragonball the other day, fwiw)
<rtyler> beats me
<rtyler> I don't use spring
<headius> (not Z)
<rtyler> I know kafka does, and lots of other proejcts I care about
<lopex> rtyler: I've seen gradle in lot of their repos
<rtyler> \o/
<rtyler> I found JRuby in the ratpack repo, they're using jruby and jruby/gradle to build their site
<rtyler> \o/
<enebo> Actually negative size
<lopex> though now I prefer sbt for java even
<headius> lopex: wow, really? last person I asked about sbt absolutely hated it
<lopex> headius: I know, s stands for sophisticated
* rtyler ducks
<lopex> headius: but it keeps the jvm running
<lopex> you get repl completion for plugins commands etc
<lopex> lots of advantages
<headius> lopex: that's useful
<headius> rtyler: stockholm build tool
<rtyler> heh
<rtyler> any of those tools are better than the rake/rvm/bundler/fingers-crossed tool
<lopex> headius: for scala it's kind of necessity
<lopex> some ppl care about checked build definition
<lopex> too
<lopex> headius: also, sbt checks for deps first, fails very early on
<lopex> unlike maven
<headius> for scala, sure
<headius> 175-stage compiler or whatever
lanceball is now known as lance|afk
<lopex> headius: I mean project deps, unless you're responding to former lines
<headius> oh, I thought you meant scala needed it because of the warm JVM
<lopex> headius: yeah, that's awful
<headius> Martin O spoke at JVMLS this year about the new compiler he's working on and showed how complex the old one is
<headius> and of course paulp has talked about it many times before
<lopex> yeah
<lopex> headius: and the dot calculus ?
<lopex> headius: paulp points are mostly right
<lopex> headius: but pure fp community makes fun of all scala kings
<headius> I don't know the dot calculus
<lopex> I dont either
<headius> but the big point Martin made was that all those features in Scala are multiplicative
<lopex> headius: it's the formalism developed for that new compiler
<headius> worst case compile-time complexity is a cross product of all features
<headius> that was the thing I tweeted about them finding a single line of scala that took 6 minutes to compile
<headius> yup, that's it
<headius> it sounds pretty cool
<headius> primary innovation is treating compilation as functional transformations of an immutable program representation
<lopex> headius: subtyping, implicits, scoping
<lopex> and you get heinous times
<headius> implicits are the big one it sounds like
<headius> they can massively increase compile-time complexity
<lopex> and subtyping is another n in the polynomial
<headius> I understand now why Daniel Spiewak strongly encouraged us not to add them to Mirah
<lopex> headius: haskell has implicits too
<headius> that's probably why they're in scala
<lopex> but unlike scala you can have only one per typeclass
<headius> that doesn't sound useful
<lopex> so search space is linear (I guess)
<headius> yeah
<lopex> it is more useful than in scala
<headius> it only adds N type transformations for N types at worst
<lopex> since you get guarantees
<headius> well, I mean it doesn't sound useful in the same way haskell doesn't sound useful...nobody can share code
<headius> because they'll want their own implicits
<headius> god knows how scala deals with that right now
<lopex> headius: any use of instance keyword in haskell you introduce implicit
<lopex> and you get rid of collisions very early on
<headius> I'll be honest, I don't know haskell :-)
<headius> I probably should
<headius> or maybe I shouldn't
<lopex> headius: the typeclasses are very easy
<lopex> headius: when cold perf will have a priority for 9k ?
brauliobo_ has quit [Ping timeout: 250 seconds]
colinsurprenant has quit [Quit: colinsurprenant]
<lopex> headius: jeez I just reread what I just wrote, one instance per type (for a typeclass), but no nested scopes for them
<lopex> I shouldnt be thinking too fast on irc
<headius> lopex: ok that makes more sense
<headius> and cold perf is always a priority
<headius> we just don't have easy ideas to improve it right now
<lopex> headius: instance Num Int where, just says the Int is an instance of Num
<lopex> on scala side it's the singleton object that's passed as an implicit
<lopex> containing impls for int ops
<lopex> in haskell it's just built in, no need for explicit implicits :)
<lopex> headius: I heard enebo saying IR storing is promising ?
<lopex> headius: I'd be happy for an aoting flag :)
<enebo> lopex: as it stads it is somewhat promising for non —dev startup but does not make much difference vs —dev
<headius> yeah --dev is still the biggest improvement we've had
<headius> lopex: I did talk with Christian Thalinger at JVMLS...he has a working AOT for OracleJDK and it shows a lot of promise for speeding up JRuby
<enebo> lopex: an idea subbu (ignore) had was to make a binary interpreter of the persisted IR data which would eliminate parsing and reifying instrs+operands into objects
<headius> it currently isn't planned to be free or Free but they'd let us use it for free
<enebo> lopex: so in theory the cost of reading the file would be cost of a filemap. Whether that interp runs ok is another question
<headius> I haven't heard from him since then but that was just a few weeks ago
<enebo> lopex: and it would require a lot of work
<lopex> enebo, headius: I guess my case is a rare one, so just asking
<enebo> lopex: but the other longer term goal is to also persist more optimzed code which would not help startup but would improve initial cold perf but it is way out in my mind
<lopex> like rails reloading is one thing, but whole metamodel processing per reloading is another
<headius> yeah that kind of stuff is sorta out of scope right now
<headius> and AOT JRuby itself doesn't address cold perf, but it would mean we could hit the ground running faster with precompiled, preoptimized code
<headius> right now loading precompiled code is much slower than loading source to interpreter
<headius> oh, the Oracle AOT feature is expected to be like JMC, free for dev use
<enebo> but saving IR after all safe opts are fun would speed up warmup I think
<headius> so that's good too
<headius> yeah probably
<headius> and knowing if there's anything we want to jit right away
<headius> our compiler doesn't even AOT anymore of course, so I'd have to write that :-)
<lopex> headius: is that aot something like excelsior jet, or what what is it called ?
<enebo> yeah that one is more difficult to know 100% but perhaps that is where we allow people to save profiled data separately
<headius> it's like jet, yes
<enebo> headius: well it does make a class :)
m4rCsi has quit [Quit: No Ping reply in 180 seconds.]
<headius> two modes: tiered (JIT can continue to optimize AOT code) and untiered (what you start with is what you run with forever)
<headius> the latter would be interesting for startup, the former for improving cold perf
<enebo> lopex: that cable video is pretty amazing
<enebo> well fudge I am not sure what is up with this struct
<enebo> I think DWORD is always unsigned32
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<lopex> headius: oracle seems to be putting a lot more resources for those things nowdays
<headius> they want something to monetize
<headius> but yeah, overall I think they've been mostly good for OpenJDK
<lopex> but where the difference wrt suns's model ?
<lopex> they wanted too
<headius> whether they've been good for Java is up for debate
<headius> their difference is that they actually know how to make money
<lopex> but the goals seem similar
<lopex> er, ways
<headius> Sun's strategy was 1. Open source everything. 2. ??? 3. PROFIT
<lopex> right
<lopex> no conditions inbetween
<headius> as glad as I am that they did (1), they never did (2) or (3) either, which is why we don't work for them anymore :-)
<lopex> but since truffle is now open for example, then what ?
<lopex> graal isnt ?
<headius> graal is too
<headius> but that's legacy from Sun
<headius> and Thomas et al snuck Truffle out as part of Graal
<headius> good on 'em
<chrisseaton> worth mentioning the AOT uses Graal, in case people weren't aware of that
<headius> yeah it does
<headius> because it's better suited to that than hotspot
<headius> (since it was used to AOT compile parts of Maxine, for example)
<lopex> I werent (in any case that matters:)
<lopex> *wasnt
oblutak has quit [Ping timeout: 246 seconds]
<headius> chrisseaton: do you know if any of the other parts of maxine have survived?
<headius> pure-Java managed memory was a pretty neat trick too
<lopex> headius: so it's all mixed (I might think so, but had oposite impressions)
nateberkopec has quit [Ping timeout: 240 seconds]
<chrisseaton> Maxine is getting a revival from the Uni of Manchester, who are actively developing it again and adding new functionality
<headius> oh that's great news!
<lopex> is there a lot of overlap ?
<chrisseaton> but not sure any other components have been extracted (if you are thinking of what J9 is doing)
<headius> ok, apparently Maxine Manchester is the name of a DC superhero
<chrisseaton> Maxine and Graal? Maxine now uses Graal as an off-the-shelf component I believe (not very well informed in that area)
<headius> I'm gonna need a bigger boat
<lopex> chrisseaton: last videos I saw were from Bernd Mathiske
jensnockert has joined #jruby
<chrisseaton> http://www.dcs.gla.ac.uk/~jsinger/mmnet15/nisbet.pdf includes some Maxine stuff
<lopex> chrisseaton: you meant the overlap ?
<chrisseaton> yeah
<headius> chrisseaton: thanks
<lopex> it was pretty cool seeing pointers as java abstractions
<headius> Bernd went to Yahoo...dunno what he has done since
<headius> now there's a company that defies explanation
<headius> time for dinner now, ttfn
camlow325 has quit [Ping timeout: 246 seconds]
shellac has joined #jruby
<lopex> chrisseaton: from what I recall the biggest selling point of maxine was inlining vm guts with the rest
<lopex> since now it's all specialized in hotspot
<lopex> like allocation
<lopex> inlined subs
<lopex> *stubs
jensnockert has quit [Ping timeout: 272 seconds]
camlow325 has joined #jruby
camlow325 has quit [Remote host closed the connection]
camlow325 has joined #jruby
enebo has quit [Quit: enebo]
brauliobo_ has joined #jruby
<lopex> chrisseaton: so nashorn/truffle might be a natural choice now right?
Cu5tosLimen has joined #jruby
m4rCsi has joined #jruby
<chrisseaton> not sure what you mean by nashorn/truffle? do you mean nashorn using truffle or nashorn or truffle
<lopex> using
<chrisseaton> there's already a JS using Truffle, so it wouldn't make sense to retrofit Nashorn
<lopex> so there will be an overlap wrt indy and truffle for some time ?
shellac has quit [Quit: Computer has gone to sleep.]
<chrisseaton> my personal opinion is that truffle can cover both use cases, but that's not an Oracle policy
<lopex> since both jruby/jruby-truffle share lots of core impls, same should be for js
<chrisseaton> to get the best performance it's hard to share a lot of stuff we've found - I've got a video on that I will share soon
CustosL1men has quit [Quit: Leaving]
<lopex> yeah, I gues one must adjust to the other model
Cu5tosLimen has quit [Quit: CustosLimen]
Cust0sLimen has joined #jruby
<lopex> I wonder if truffle could be made an e2e product with full gui with support for syntax designing like antr, whatever default runtime libs etc
<lopex> that might make a case for dsls in lots of fields
<chrisseaton> there is a group at King's London working on a graphical editing tool
<chrisseaton> what you are describing is often called a 'language workbench' - if you google that there are lots of ideas
<lopex> like starting with antlr ?
<lopex> hmm, yeah, also different fields require different constraints on the language
<chrisseaton> i had an idea at one point where nodes would know how to parse themselves, like they know how to execute themselves
<lopex> so you might end up with a "library" or starter kit for your field
<chrisseaton> didn't really go anywhere
<lopex> ast nodes ?
<chrisseaton> yeah
<lopex> is the runtime ast changing going anywhere ?
<lopex> or local grammars ?
camlow325 has quit [Remote host closed the connection]
<chrisseaton> runtime ast changing? sorry not sure what you mean
<lopex> er, I meant grammar changing
<chrisseaton> King's are also looking at that
<lopex> since ast is often modified for degenerated grammars right
camlow325 has joined #jruby
<lopex> I was astonished from your last talk about constant propagation/folding wrt ruby in truffle
<chrisseaton> thanks - I love that demo
<lopex> thinking how much will have to be deoptimized potentially
<chrisseaton> trying to come up with some more extreme examples
<lopex> eval was harsh
<lopex> and binding
<chrisseaton> x = 14; p = Proc.new { }; p.binding.local_variable_get(:x)
<chrisseaton> is my favourite
<chrisseaton> the infamous Proc#binding
<lopex> yeah
<chrisseaton> run the tool yourself - try to come up with some expressions you'd like to be constant folded and aren't and we'll see if we can make them so
<lopex> but since you can constant fold those things, cant you perform global value numbering on them too ?
<lopex> or whatever
<lopex> where's the limit ?
<lopex> since a constant is a tree element ?
<lopex> or must it be a leaf ?
<chrisseaton> gvn deduplicates code, which isn't essential for folding
havenwood has quit [Quit: Textual IRC Client: www.textualapp.com]
<lopex> so it's only for folding ?
<chrisseaton> yeah - the limit is just where we don't know a value in advance
<lopex> ok
<chrisseaton> so rand is obviously a limit, unless it's rand < 1 in which case we know the value because it's always true
<lopex> still impressive
<lopex> yeah, thinking about something about constraints
<chrisseaton> not impressive enough for RubyConf apparently (/bitter)
<lopex> like >0
<chrisseaton> (this actual demo wan't part of the submission, and I'm sure they get thousands of top quality submissions etc)
<lopex> if it could be propagated through those boundaries
<lopex> why it wasnt ?
<lopex> not enough clapping ?
<chrisseaton> it wasn't accepted for this year
camlow325 has quit [Remote host closed the connection]
Cust0sLimen has quit [Quit: CustosLimen]
<lopex> I wonder if truffle could help a regexp engine in a way that it used native java stack to a threshold limit, then fallback to artificial one using heap
camlow325 has joined #jruby
camlow325 has quit [Remote host closed the connection]
<chrisseaton> there was a Truffle version of JONI, not sure what happened to it
<lopex> as a perf/robustness limit
<lopex> er, tradeoff
<lopex> joni has those pesky subexp calls that make the stacks somewhat different
<lopex> no idea how to make it efficient
Cust0sLimen has joined #jruby
<lopex> can truffle use unsafe (or access the heap in non uniform way) in a more efficient ways ?
<nirvdrum> lopex: I think Chris is gone for the night.
<lopex> that might be a case to fast utf8 length routines nirvdrum was talking about
<lopex> lol
<nirvdrum> I'm not sure if Graal can optimize anything there. Truffle doesn't provide any additional factilities over Unsafe.
<lopex> I guess I became a bit trying
<lopex> nirvdrum: but that utf8 length is a big one
<lopex> mri might be 10x faster here
brauliobo_ has quit [Ping timeout: 244 seconds]
<nirvdrum> lopex: Heh. I think it was just late for him. We had a 1:1 call at 11:45 PM his time.
<lopex> he's in uk now ?
dinfuehr has quit [Remote host closed the connection]
rcvalle has quit [Quit: rcvalle]
<nirvdrum> lopex: He's lived there as long as I've known him.
camlow325 has joined #jruby