_djbkd has quit [Remote host closed the connection]
dinfuehr has quit [Ping timeout: 272 seconds]
_djbkd has joined #jruby
cpuguy83_ has quit [Quit: ZNC - http://znc.in]
_djbkd has quit [Remote host closed the connection]
_djbkd has joined #jruby
yfeldblum has quit [Remote host closed the connection]
yfeldblum has joined #jruby
camlow325 has joined #jruby
dinfuehr has joined #jruby
camlow32_ has quit [Ping timeout: 250 seconds]
camlow325 has quit [Ping timeout: 260 seconds]
dinfuehr has quit [Ping timeout: 256 seconds]
<GitHub98> [jruby] bbelleville opened pull request #3290: [Truffle] Allow for lazy parsing (master...minimal-lazy) http://git.io/vsjZR
<GitHub168> [jruby] bbelleville opened pull request #3291: [Truffle] Canonicalize input file name (master...canonical-filename) http://git.io/vsjWM
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 245 seconds]
mdedetrich has joined #jruby
b_hoffman has joined #jruby
mdedetrich has quit [Ping timeout: 260 seconds]
mdedetrich has joined #jruby
dinfuehr has joined #jruby
subbu has joined #jruby
dinfuehr has quit [Ping timeout: 245 seconds]
_djbkd has quit [Quit: My people need me...]
dinfuehr has joined #jruby
b_hoffman has quit [Quit: b_hoffman]
<rtyler> headius: I was benchmarking some RSpec tests today with various opttions for jruby, I'm highly confused why passing in invokedynamic=true is slowly on JDK8/JRuby 9k than without
<rtyler> that's contrary to my understanding of what that functionality provided
mdedetrich has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
_djbkd has joined #jruby
<headius> rtyler: tests are worst case scenario for every optimization we make
<headius> they never get hot so they are running interpreted the whole time...and with indy, what does compile doesn't optimize at the JVM level
subbu has quit [Quit: Leaving]
mdedetrich has joined #jruby
nirvdrum has quit [Ping timeout: 250 seconds]
mdedetri_ has joined #jruby
mdedetrich has quit [Ping timeout: 244 seconds]
donV has joined #jruby
havenwood has quit [Quit: Textual IRC Client: www.textualapp.com]
skade has joined #jruby
_djbkd has quit [Quit: My people need me...]
donV has quit [Ping timeout: 272 seconds]
donV has joined #jruby
pietr0 has quit [Quit: pietr0]
donV has quit [Quit: donV]
bzb has joined #jruby
bzb has quit [Remote host closed the connection]
<GitHub167> [jruby-openssl] kares pushed 3 new commits to master: http://git.io/vGeTp
<GitHub167> jruby-openssl/master fca2e71 kares: make sure we hold a buffered reader so that the loop continues reading PEMs...
<GitHub167> jruby-openssl/master a4cc46d kares: always use buffered-reader esp. when reading in loop (closing #67)...
<GitHub167> jruby-openssl/master 6d3eba1 kares: X.509 addError 13 makes no sense and is never actually executed
<GitHub56> [jruby-openssl] kares closed issue #67: OpenSSL::SSL::SSLError: certificate verify failed with JRuby 1.7.22 http://git.io/vGeTj
yfeldblum has quit [Ping timeout: 246 seconds]
skade has quit [Quit: Computer has gone to sleep.]
rsim has joined #jruby
skade has joined #jruby
samphippen has joined #jruby
samphippen has quit [Client Quit]
shellac has joined #jruby
samphippen has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
<GitHub14> [jruby-openssl] kares pushed 2 new commits to master: http://git.io/vGeRy
<GitHub14> jruby-openssl/master 34aaa64 Chris Heisterkamp: add TLSv1_1_client, TLSv1_1_server, TLSv1_2_client and TLSv1_2_server options to ssl_version
<GitHub14> jruby-openssl/master c3ac283 kares: add some more asserts for reported TLS v1.2 among METHODS (closing #65)
<GitHub182> [jruby-openssl] kares closed pull request #65: add TLSv1_1_client, TLSv1_1_server, TLSv1_2_client and TLSv1_2_server options to ssl_version (master...add-tls-client-server) http://git.io/vsDsu
sdogruyol has quit [Read error: Connection reset by peer]
sdogruyo_ has joined #jruby
<travis-ci> jruby/jruby-openssl (master:c3ac283 by kares): The build was broken. (https://travis-ci.org/jruby/jruby-openssl/builds/77458292)
pitr-ch has joined #jruby
dinfuehr has quit [Remote host closed the connection]
sdogruyo_ has quit [Read error: Connection reset by peer]
shellac has joined #jruby
sdogruyol has joined #jruby
drbobbeaty has joined #jruby
<ebarrett> chrisseaton: hi?
<chrisseaton> Hello
<ebarrett> how you doing?
<chrisseaton> Good - moving house today but have some time
<ebarrett> oh wow
<ebarrett> moving far?
<chrisseaton> No just to the next village but it's bigger house - I've got an awesome new study
pitr-ch has quit [Ping timeout: 246 seconds]
<chrisseaton> It's all about school catchments now!
vtunka has joined #jruby
<ebarrett> chrisseaton: neat, congrats :)
<ebarrett> well, im here with a bug for you :)
<ebarrett> one of our benchmarks invokes this: https://gist.github.com/vext01/fdf1caf2dd4a0c58db0e
mdedetri_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<chrisseaton> Should be an easy fix - how can I reproduce?
sdogruyol has quit [Read error: Connection reset by peer]
<ebarrett> chrisseaton: i'll mail you the benchmark?
<chrisseaton> And give me the commit you're working from as well
<ebarrett> sure
sdogruyol has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
pitr-ch has joined #jruby
<ebarrett> chrisseaton: mailed
sdogruyol has quit [Read error: Connection reset by peer]
dinfuehr has joined #jruby
sdogruyol has joined #jruby
dinfuehr has quit [Ping timeout: 265 seconds]
bb010g has quit [Quit: Connection closed for inactivity]
yfeldblum has joined #jruby
mje113 has joined #jruby
benlovell has joined #jruby
sdogruyol has quit [Remote host closed the connection]
vtunka has quit [Quit: Leaving]
<GitHub95> [jruby-openssl] kares pushed 4 new commits to master: http://git.io/vGvmk
<GitHub95> jruby-openssl/master d8922ab kares: make `rake test` work (missing test_helper require)
<GitHub95> jruby-openssl/master 1e5f64f kares: add some simple integration tests for future "earlier" regression tracking
<GitHub95> jruby-openssl/master f8fa20e kares: rake test to run integration tests
skade has quit [Quit: Computer has gone to sleep.]
cristianrasch has joined #jruby
<kares> headius: jossl should be fixed ... we can test and roll out 0.9.11 as/when needed
<travis-ci> jruby/jruby-openssl (master:15ecf71 by kares): The build has errored. (https://travis-ci.org/jruby/jruby-openssl/builds/77475420)
dinfuehr has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
dinfuehr has quit [Ping timeout: 252 seconds]
<GitHub192> [jruby-openssl] kares pushed 1 new commit to master: http://git.io/vGvli
<GitHub192> jruby-openssl/master cbab92c kares: [travis-ci] no bundle install atm!
drbobbeaty has joined #jruby
benlovell has quit [Ping timeout: 244 seconds]
cprice404 has joined #jruby
<GitHub107> [jruby] chrisseaton pushed 1 new commit to master: http://git.io/vGvEl
<GitHub107> jruby/master 876f2e5 Chris Seaton: [Truffle] Encapsulate sun.misc.Signal
cristianrasch has quit [Quit: Leaving]
<travis-ci> jruby/jruby (master:876f2e5 by Chris Seaton): The build has errored. (https://travis-ci.org/jruby/jruby/builds/77479914)
<travis-ci> jruby/jruby-openssl (master:cbab92c by kares): The build failed. (https://travis-ci.org/jruby/jruby-openssl/builds/77478682)
sdogruyol has joined #jruby
<GitHub122> [jruby] pitr-ch commented on commit 6b0d84b: ah thanks, I did not notice it also uses the type of the annotated argument before. http://git.io/vGvaz
skade has joined #jruby
<GitHub109> [jruby-openssl] kares pushed 2 new commits to master: http://git.io/vGvrk
<GitHub109> jruby-openssl/master a20aaa6 kares: add gem 'rake' to integation bundle
<GitHub109> jruby-openssl/master 81db73b kares: [travis-ci] give `ruby -S rake ...` command another try
shellac has joined #jruby
<GitHub63> [jruby] chrisseaton pushed 1 new commit to truffle-head: http://git.io/vGvK1
<GitHub63> jruby/truffle-head 71b600d Chris Seaton: [Truffle] Update for latest Truffle.
vtunka has joined #jruby
<GitHub56> [jruby] chrisseaton pushed 1 new commit to truffle-head: http://git.io/vGviA
<GitHub56> jruby/truffle-head b20f3ff Chris Seaton: Merge branch 'master' into truffle-head...
samphippen has quit [Ping timeout: 246 seconds]
sdogruyol has quit [Remote host closed the connection]
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 246 seconds]
benlovell has joined #jruby
bbrowning_away is now known as bbrowning
<travis-ci> jruby/jruby-openssl (master:81db73b by kares): The build is still failing. (https://travis-ci.org/jruby/jruby-openssl/builds/77482475)
benlovell has quit [Ping timeout: 272 seconds]
yfeldblum has quit [Ping timeout: 246 seconds]
samphippen has joined #jruby
<projectodd-ci> Project jruby-master-spec-compiler build #262: FAILURE in 8 min 20 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/262/
<projectodd-ci> chris: [Truffle] Encapsulate sun.misc.Signal
cristianrasch has joined #jruby
<GitHub67> [jruby-openssl] kares pushed 1 new commit to master: http://git.io/vGvjT
<GitHub67> jruby-openssl/master 563c62a kares: [build] allow for Rakefile to be loaded without ruby-maven installed
sdogruyol has joined #jruby
sdogruyol has quit [Remote host closed the connection]
sdogruyo_ has joined #jruby
<GitHub82> [jruby-openssl] kares pushed 1 new commit to master: http://git.io/vGfOX
<GitHub82> jruby-openssl/master 59347f2 kares: [build] shell out when ruby-maven is not there
<GitHub27> [jruby] eregon closed pull request #3291: [Truffle] Canonicalize input file name (master...canonical-filename) http://git.io/vsjWM
<GitHub21> [jruby] eregon pushed 2 new commits to master: http://git.io/vGfW8
<GitHub21> jruby/master fbaa433 Brian Belleville: [Truffle] Canonicalize input file name
<GitHub21> jruby/master 76c950b Benoit Daloze: Merge pull request #3291 from bbelleville/canonical-filename...
sdogruyo_ has quit [Remote host closed the connection]
shellac has quit [Quit: Computer has gone to sleep.]
dinfuehr has joined #jruby
<travis-ci> jruby/jruby (master:76c950b by Benoit Daloze): The build has errored. (https://travis-ci.org/jruby/jruby/builds/77492676)
nirvdrum has joined #jruby
dinfuehr has quit [Ping timeout: 240 seconds]
benlovell has joined #jruby
shellac has joined #jruby
tcrawley-away is now known as tcrawley
<projectodd-ci> Project jruby-master-spec-compiler build #263: STILL FAILING in 2 min 15 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/263/
<projectodd-ci> bbellevi: [Truffle] Canonicalize input file name
<GitHub33> [jruby] eregon pushed 1 new commit to master: http://git.io/vGfDa
<GitHub33> jruby/master 8470c9c Benoit Daloze: [Truffle] No Java 8 Map.getOrDefault.
enebo has joined #jruby
<GitHub192> [jruby] carlosmrce opened issue #3292: UTF-8 encoding on MS-Windows http://git.io/vGJJC
<headius> g'day!
benlovell has quit [Ping timeout: 250 seconds]
<headius> kares: that's great...we should probably do it along with 9k then
<headius> enebo: jossl regression is fixed, kares is da best
mdedetrich has joined #jruby
<enebo> headius: great
mdedetrich has quit [Client Quit]
<GitHub137> [jruby] eregon pushed 1 new commit to master: http://git.io/vGJmQ
<GitHub137> jruby/master d2357f3 Benoit Daloze: [Truffle] Finish the conversation to our wrapper of sun.misc.Signal.
<kares> headius: enebo: ok sure ... when's 9K.1 planned - next week ?
b_hoffman has joined #jruby
<enebo> kares: How about Monday. I do not want to update this today and release today and I do not like Friday releases
benlovell has joined #jruby
<enebo> headius: seem ok to you?
<kares> enebo: exactly ... ok :)
<headius> enebo: that means we'll ship 9k.1 with damaged jossl
<headius> oh wait
<headius> you mean delay 9k.1 to monday
<headius> ok
<enebo> yeah
<kares> will do a jossl release monday than ... if anything regression-y pops up till than - ping me or cc in GH
<headius> can we push a pre gem right now so we can test with it and give that guy a temp workaround?
<kares> yes we can do a snapshot
<lopex> enebo: numbers!
<kares> and I'll setup staging to run JRuby's suite
<headius> ok
<lopex> headius: did you see the mode windows issue for File.open ?
<headius> I did not
<GitHub58> [jruby] eregon pushed 1 new commit to master: http://git.io/vGJsb
<GitHub58> jruby/master c9712e8 Benoit Daloze: [Truffle] Simplify Signal handling by making our wrapper remember the default handler.
<enebo> lopex: did you see someone opened an issue about not following softlinks on windows!?!?!?
<lopex> enebo: I heard it's the hard ones that didnt work
<lopex> enebo: oh you're being serious ?
<lopex> :)
havenwood has joined #jruby
<enebo> lopex: The report says softlink but it is actually called a hardlink in their case…but we probably do not support junctions or softlinks either
<lopex> bbrowning: does torquebox load gems in a different way somehow, I got ptached class in my code and it's not being visible when run on torquebox
<enebo> lopex: I love how windows takes a common term and changes it to mean something different from all other OSes 30+ years after the old term has been in existence
sdogruyol has joined #jruby
<lopex> enebo: rewriting the engineering
<bbrowning> lopex: torquebox 3? we shouldn't be doing anything different
<bbrowning> torquebox 4 for sure does not
<lopex> bbrowning: yeah, 3.2 snapshot too
<bbrowning> lopex: what class are you patching? and how does the patch get loaded?
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<lopex> bbrowning: it's patching some sequel guts (in as400 adapter), in my code that is being loaded after
dinfuehr has joined #jruby
<bbrowning> lopex: and you confirmed your patched code is actually loading with a puts or something?
<lopex> bbrowning: TorqueBox 4.0.0.beta1 gem works ok though
<lopex> bbrowning: yes, definitely confirmed
<lopex> bbrowning: I'm not sure how to make a reduced case though
<bbrowning> lopex: are you using sequel from the web runtime here? or via a schedule job, message processors, etc?
<lopex> bbrowning: no
<bbrowning> I've seen some users tripped up because config.ru was only loaded for web runtimes and people sometimes put moneky patches there
<lopex> bbrowning: er, if you mean web as rack the yes
<headius> enebo: perhaps they're using CP/M terminology :-D
<bbrowning> lopex: yeah
<lopex> bbrowning: I'll check that and let you know
<bbrowning> lopex: torquebox 3 creates separate jruby runtimes for web, messaging, scheduled jobs, etc
<bbrowning> so you'll want to make sure your patch is getting loaded via some code path that gets executed everywhere you're using sequel
<bbrowning> that was my only point :)
<lopex> bbrowning: sequel does a bit of method copying in it's extensions so it might also complicate things
<enebo> headius: perhaps but even CP/M missed softlinks by about 15 years
<headius> yeah
dinfuehr has quit [Ping timeout: 260 seconds]
<enebo> headius: another aspect seems that this link feature only showed up in Vista
<headius> and links didn't show up in MS operating systems until NT
colinsurprenant has joined #jruby
<enebo> headius: ah yeah they probably were NT
<headius> what feature is that? win2k supported ntfs
<travis-ci> jruby/jruby (master:8470c9c by Benoit Daloze): The build passed. (https://travis-ci.org/jruby/jruby/builds/77497434)
<enebo> headius: the article I read just pointed out they used them in earnest since Vista for Document And Settings crdu
greenbigfrog has left #jruby [#jruby]
<headius> strange, I thought they were doing that magic earlier
<enebo> headius: I have first hand issues with this in fact. I got my windows machine to back up in win7 over network but I had to manually remove all those links to get the backup to work (limitation of their backup software o_O)
<headius> oh, lovely
<enebo> headius: but no doubt this is a NTFS feature
<enebo> headius: yeah I was wondring how IT in companies backup any machines
<enebo> headius: they probably nuke all those links as well
<headius> yeah, wikipedia says NTFS came along in NT 3.1
<headius> dunno if that first version of NTFS had "hard links" or not
<headius> the terminology on wikipedia does seem to match unix hard links though
<headius> two dir entries for the same file
<headius> windows is such a PITA
<enebo> headius: yeah hard link sounds the same but you can hard link directories in unix
<enebo> headius: it is the disconnect of soft link being only folders
<headius> ahh yeah
<enebo> so junction is hardlink of folders
<enebo> why? Can’t they tell their are linking from a folder
<headius> yeah, strange
<enebo> heh they’re
b_hoffman has left #jruby [#jruby]
vtunka has quit [Quit: Leaving]
vtunka has joined #jruby
dumdedum has joined #jruby
<projectodd-ci> Yippee, build fixed!
<projectodd-ci> Project jruby-master-spec-compiler build #264: FIXED in 4 min 33 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/264/
<projectodd-ci> * eregontp: [Truffle] No Java 8 Map.getOrDefault.
<projectodd-ci> * eregontp: [Truffle] Finish the conversation to our wrapper of sun.misc.Signal.
<projectodd-ci> * eregontp: [Truffle] Simplify Signal handling by making our wrapper remember the default handler.
samphippen has joined #jruby
sdogruyol has quit [Read error: Connection reset by peer]
skade has quit [Quit: Computer has gone to sleep.]
benlovell has quit [Ping timeout: 244 seconds]
sdogruyol has joined #jruby
<headius> bbrowning: did you get anywhere with Michael Haupt re: ClassValue rooting?
<bbrowning> headius: sent him a reproducer but haven't heard anything back
<headius> are you on MLVM list? you might post a reply to my email with the simple repro
<headius> someone else might pick it up
<headius> blackdrag just posted that he's seeing the same thing, but his repro case is complex and deep inside Groovy
vtunka has quit [Quit: Leaving]
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 272 seconds]
<travis-ci> jruby/jruby (master:c9712e8 by Benoit Daloze): The build failed. (https://travis-ci.org/jruby/jruby/builds/77502958)
subbu has joined #jruby
donV has joined #jruby
sdogruyol has quit [Remote host closed the connection]
skade has joined #jruby
colinsurprenant has quit [Quit: colinsurprenant]
colinsurprenant has joined #jruby
donV has quit [Quit: donV]
benlovell has joined #jruby
samphippen has quit [Read error: Connection reset by peer]
samphippen has joined #jruby
samphipp_ has joined #jruby
havenwood has quit [Quit: Textual IRC Client: www.textualapp.com]
samphippen has quit [Read error: Connection reset by peer]
havenwood has joined #jruby
rcvalle has joined #jruby
rsim has quit [Quit: Leaving.]
lanceball is now known as lance|afk
samphipp_ has quit [Quit: Textual IRC Client: www.textualapp.com]
dinfuehr has joined #jruby
samphippen has joined #jruby
colinsurprenant has quit [Quit: colinsurprenant]
camlow325 has joined #jruby
dinfuehr has quit [Ping timeout: 252 seconds]
auxbuss has joined #jruby
<GitHub74> [jruby] eregon pushed 1 new commit to master: http://git.io/vGUVI
<GitHub74> jruby/master 39eaddc Benoit Daloze: [Truffle] Nice FoundBug.
benlovell has quit [Ping timeout: 246 seconds]
pietr0 has joined #jruby
<mjc_> compared to 1.7.19, 9k is twice as fast for our app when warm and using puma, neat (15ms vs 33ms)
<mjc_> it's also much faster when cold
sdogruyol has joined #jruby
byteit101 has joined #jruby
<enebo> mjc_: cool…
bbrowning is now known as bbrowning_away
<headius> mjc_: that's great to hear!
<byteit101> how can I add an annotation before generating java classes? I don't see it on https://github.com/jruby/jruby/wiki/GeneratingJavaClasses
<enebo> mjc_: does your app invoke a lot of blocks without local variables?
<enebo> mjc_: it’s own local variables not captured ones
benlovell has joined #jruby
<mjc_> It's mostly communicating with redis and creating json
<enebo> mjc_: ah so a lot of IO resources
<rtyler> interesting, I'm seeing slower perf on 9k compared to 1.7.20.1 across the board in this internal app
<enebo> mjc_: perhaps you are seeing our native IO making a difference
<headius> rtyler: slower by how much?
<enebo> I would guess 10-15% :)
<headius> enebo: also much more direct transcoding pipeline
<enebo> headius: true
<enebo> headius: not using charset at a minimum
<headius> old one probably copied the same characters a half-dozen times at least
<rtyler> headius: 20-40% depending on the options passed in
<rtyler> I was benchmarking and experimenting with various JRuby flags yesterday
<headius> rtyler: interesting...we'll have to look at some profiles
<rtyler> I tried to profile this damned thing but jprofiler said GTFO
<enebo> 40% seems pretty large unless it was not running long
<headius> yeah
<rtyler> define 'long'
<enebo> less than a minute?
<rtyler> that's the idea :)
<rtyler> testing a single (giant) rspec file that MRI does in 10s, and JRuby does in 26s-50s depending on the options
<rtyler> trying to improve cycle time for devs
<enebo> rtyler: JRUBY_OPTS=-“—dev -Xjit.threshold=-1”
<mjc_> I can try profiling it later
<rtyler> enebo: that's what gives me the lower end ;)
<enebo> lower as in slowest of quickest?
shellac has quit [Quit: Computer has gone to sleep.]
<enebo> of/or
<rtyler> ~26s
<enebo> ok
<rtyler> invokedynamic destroys any perf gains
<rtyler> on openjdk8, which makes me sad
<enebo> rtyler: so I believe some of this time is that we are stlll not loading Ruby code as fast as in 1.7 yet
<lopex> enebo: would an external file containing hints for the code to be aot compiled make sense ?
<rtyler> 9k/invokedynamic has an average of 88s runtime compared to 35s on 9k with -dev
<lopex> like slow initialization containg loops etc
<enebo> lopex: we have that as a blue sky idea
<enebo> rtyler: you are not constrainted by execution by and large
<enebo> rtyler: if our startup interp was a little faster you would see it but the extra IRBuild step is 10-15% of the 1.7 difference
<enebo> rtyler: possibly more…it is hard to untangle startup execution from build since it all sort of jumbles together
<enebo> rtyler: so we will keep chipping away at load time
<enebo> lopex: the idea is that we want to persist later in IR execution at a conservative optimization point and potentially at unsafe but deoptable points
<lopex> enebo: I know, but there are cases you want to run cold code fast
<enebo> lopex: saving the data and re-retrieving it will be a big experiment and at this point we only save equivalent of what we call startup interp data
<enebo> lopex: subbu came up with a brilliant solution for that too
<headius> slow cold perf with indy is no surprise to me
* subbu looks up
<enebo> lopex: we can mmap the persisted IR and make a binary interpreter
<lopex> enebo: and you'll never have good profile for that
<enebo> lopex: we will not reify any obkects to start interp'ing
<headius> it has improved a bit with later Java 8 but it's still takes longer to get warm there than not using indy
<enebo> lopex: that should be super fast to start executing code but it is unclear how fast it will execute code :)
<lopex> enebo: you can mmap java heap easily ?
<enebo> lopex: no..well I don’t know
<lopex> or just the repr of it ?
<headius> enebo: I thought of a way to make the handle-based invokers a bit faster: set them up as constant pool entries
<headius> I think that will make them optimize faster and probably boot faster
<headius> not sure if it will be able to beat generated invokers though, and I'd have to generate them somewhere
<enebo> lopex: this would just be walking contents of memory and executing as it sees the bytes
auxbuss has quit [Quit: I'm gone.]
<lopex> headius: is there in IO a centralized place for windows goofy logic ?
<enebo> headius: it would be neat to some daty not ship a few thousand extra classes :)
<headius> we might want to set up handle-based invokers as the default for exts, though, because they should boot faster in that case and mean less class loading
<headius> e.g. jossl
<headius> lots of invokers being generated and classloader at boot
<lopex> headius: like special cases for modes and encodnigs ?
<lopex> mri is scattered with this stuff :(
<enebo> lopex: I have always wanted a lookup once pragma in Ruby code so it can be unconditionally wired (and in IR it could auto inline)
<enebo> lopex: but if that was added it would be abused by people who think inlining their entire program would be good perf
<lopex> enebo: right, like inline annotations or whatever
<enebo> lopex: yeah
<enebo> lopex: not a new or exciting idea but one which could get a lot of perf strategically internally in ruby impld code
<lopex> enebo: but external file would be more robust
<enebo> lopex: based on profiling yeah
<lopex> prone to overuse as well
<travis-ci> jruby/jruby (master:39eaddc by Benoit Daloze): The build was fixed. (https://travis-ci.org/jruby/jruby/builds/77532076)
<enebo> lopex: I think once we have deoptimization in place we will be able to think about saving previous profile data and previously compiled code
<enebo> lopex: but it is a huge unknown and just vapor in the brain :)
<lopex> enebo: shall I file an issue for that ? :)
<enebo> lopex: HHAAHA
<lopex> enebo: part of my problem is that I have Class#< in hot-cold loop
<enebo> lopex: hmm that will just end up being tons of kindOf calls I think
<lopex> enebo: yeah, looked at that code
<enebo> lopex: so ruby warmup probbly will not be more of your time?
<lopex> enebo: I wonder if it could be shorcircuited for classes ?
<lopex> since module searching add a whole lot
<lopex> enebo: I dont know, on startup I'm traversing a tree and doing that in there
<enebo> lopex: yeah possibly you could make a loop which only checked other class instances and skipped the module ones
<lopex> enebo: for Class#</> ?
<enebo> lopex: not sure most people would have this issue
<lopex> er
<enebo> lopex: adding code for a single app is questionable to me but perhaps the concept of Class#< happens more than we think?
<enebo> lopex: we do flag classes using object flags?
<lopex> enebo: I dont recall, I'd have to look again
<enebo> lopex: just wondering if there is not a dual mode here other than obvious Class < Module case
<enebo> lopex: means if you call on a Module it uses a module only search and class uses a class only search
<enebo> lopex: also curious how much a difference that could make
<lopex> yeah\
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<enebo> lopex: wow the O() complexity of this is pretty amazing too
<lopex> yep
<lopex> enebo: it's the strongest impression since I looked at it
<lopex> I remember
<enebo> lopex: < calls <= which does two hierachy down instanceof loops per herachy
<enebo> I guess 2n loops where each element is m instanceofs
<enebo> sorry just 2 instanceofs chains
<enebo> much less
bb010g has joined #jruby
tenderlove has quit [Quit: Leaving...]
pitr-ch has quit [Ping timeout: 250 seconds]
benlovell has quit [Ping timeout: 240 seconds]
<GitHub78> [jruby-openssl] kares created test-travis (+2 new commits): http://git.io/vGTkx
<GitHub78> jruby-openssl/test-travis eab72b8 kares: [travis-ci] explicit rvm: jruby + use oracle jdk 7 and 8
<GitHub78> jruby-openssl/test-travis 1ddb3e5 kares: [travis-ci] silence ... or I'll kill you!
<mjc_> ouch, indy hurts on 9k, going to give it 1m requests and see if it warms up by then
bbrowning_away is now known as bbrowning
lance|afk is now known as lanceball
<GitHub192> [jruby-openssl] kares fast-forwarded master from 59347f2 to eab72b8: http://git.io/vGTnW
vmarcetic has joined #jruby
<vmarcetic> Hi guys. Can anyone help me with no such file to load -- iconv require at org/jruby/RubyKernel.java:940 block in require at /Users/vm/.rvm/gems/jruby-9.0.0.0/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274
<nirvdrum> vmarcetic: I think you need to add 'iconv' to your Gemfile.
<vmarcetic> but when I add it, it won't install it /Users/vm/.rvm/rubies/jruby-9.0.0.0/bin/jruby -r ./siteconf20150827-31021-vqigzf.rb extconf.rb NotImplementedError: C extensions are not supported
dumdedum has quit [Quit: foo]
<nirvdrum> Okay. Give me a minute. I swear I ran into this situation a year ago.
<vmarcetic> which iconv /usr/bin/iconv
<vmarcetic> If I use
skade has quit [Quit: Computer has gone to sleep.]
_djbkd has joined #jruby
<nirvdrum> This indeed is problematic.
<nirvdrum> My memory is a bit hazy on this one, but I think I had convinced headius to keep it around. But it was removed almost 2 years ago. Hard to be certain on it.
<nirvdrum> headius: ^ Any of this ringing a bell?
<vmarcetic> The problem is that it is one of dependancies on active support 4.2, and server won't start if that isn't resolved. Maybe I have missed something. I have included activerecord-jdbcpostgresql-adapter for PG isntead of pg.
<nirvdrum> The issue is iconv was dropped from MRI, but MRI users can install the gem.
<nirvdrum> JRuby users don't seem to have the same luxury.
<vmarcetic> y
pglombardo has joined #jruby
camlow32_ has joined #jruby
camlow325 has quit [Ping timeout: 240 seconds]
<bbrowning> vmarcetic: what is it that needs iconv? I don't think it's an active support dependency is it?
<bbrowning> at least not directly
<bbrowning> I've hit this before and just assumed that any gem that depends on iconv isn't compatible with ruby 2+
<bbrowning> active support definitely is, so it's probably something else. your gemfile.lock may help
<nirvdrum> bbrowning: I just tried against my old Mogotest codebase and I had been using Iconv directly because it handled more encodings than either MRI or JRuby did.
_djbkd has quit [Remote host closed the connection]
<nirvdrum> It'd probably be worthwhile spinning the old code out into a new gem and calling it a day.
bbrowning is now known as bbrowning_away
_djbkd has joined #jruby
_djbkd has quit [Read error: Connection reset by peer]
<vmarcetic> Let me check. I was AFK.
benlovell has joined #jruby
_djbkd has joined #jruby
vmarceti_ has joined #jruby
vmarcetic has quit [Ping timeout: 244 seconds]
<vmarceti_> I can only see it under DEPENDENCIES iconv
<vmarceti_> that is it
skade has joined #jruby
<GitHub94> [jruby] kares created test-jossl-0.9.11 (+1 new commit): http://git.io/vGTQv
<GitHub94> jruby/test-jossl-0.9.11 708a32f kares: [build] test-out jruby-openssl 0.9.11 from staging
subbu is now known as subbu|lunch
benlovell has quit [Ping timeout: 250 seconds]
vmarceti_ has quit []
benlovell has joined #jruby
<lopex> bbrowning_away: yep, it works in config.ru
<lopex> but this is somewhat frustrating
pitr-ch has joined #jruby
<rtyler> enebo: if you and headius are curious about my benchmarking results, I'm sure I can share them privately, but I can't quite share the code under test :P
<rtyler> I was mostly just comparing various JRuby and VM flags
camlow32_ has quit [Remote host closed the connection]
<travis-ci> jruby/jruby (test-jossl-0.9.11:708a32f by kares): The build passed. (https://travis-ci.org/jruby/jruby/builds/77557858)
b_hoffman has joined #jruby
benlovell has quit [Ping timeout: 244 seconds]
camlow325 has joined #jruby
b_hoffman has left #jruby [#jruby]
bbrowning_away is now known as bbrowning
<bbrowning> lopex: so your patch is in config.ru now and works fine but was somewhere else before and didn't?
benlovell has joined #jruby
<bbrowning> wherever it was before, you have absolute confidence that the patch was loading after sequel itself?
<lopex> bbrowning: never claim absolute confidence! :)
<lopex> bbrowning: I'll reassure that
<bbrowning> :)
<lopex> bbrowning: but for torquebox 4.x beta it works somehow
<bbrowning> it's vastly different than torquebox 3, especially around how jruby runtimes get created so I'm not surprised
<bbrowning> torquebox 3 always creates and manages the jruby runtimes where torquebox 4 just runs inside an existing jruby runtime like any other ruby lib
skade has quit [Quit: Computer has gone to sleep.]
flegercovateam has joined #jruby
<GitHub58> [jruby] mkristian opened issue #3293: jruby gems might not work when using in servlet http://git.io/vGk39
camlow325 has quit [Read error: Connection reset by peer]
camlow325 has joined #jruby
<byteit101> enebo: fyi i've almost finished re-doing jruby-fxmlloader to not depend on java internal classes. Bonus is its also not GPL+CP anymore. Also now much faster and only about 150 lines of code vs prevous thousands and thousands
subbu|lunch is now known as subbu
_djbkd has quit [Remote host closed the connection]
<lopex> bbrowning: I guess this explains another issue, since even though I have registered driver in modules and defined connection in standalone.xml I still have to put driver jar in plain old jruby/lib
<bbrowning> I felt like it was also a bit of blind luck figuring out where to put jdbc driver jars
<bbrowning> but, $app/lib/foo.jar should work
<bbrowning> or at least we tried to make that work
dinfuehr has joined #jruby
<lopex> bbrowning: using jndi kind of forces two places
<bbrowning> ahh yeah with jndi you have to jump through whatever hoops the underlying app container requires :/
dinfuehr has quit [Ping timeout: 250 seconds]
yfeldblum has joined #jruby
<lopex> bbrowning: that might be also sequel issue since even it uses jndi it also knows what adapter to use and it appears to do Class.forName anyways
_djbkd has joined #jruby
_djbkd has quit [Read error: Connection reset by peer]
_djbkd has joined #jruby
rsim has joined #jruby
camlow325 has quit []
samphippen has joined #jruby
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
samphippen has joined #jruby
b_hoffman has joined #jruby
camlow325 has joined #jruby
dinfuehr has joined #jruby
benlovell has quit [Ping timeout: 246 seconds]
havenwood has quit [Quit: Textual IRC Client: www.textualapp.com]
bbrowning is now known as bbrowning_away
dinfuehr has quit [Ping timeout: 250 seconds]
<enebo> byteit101: that is awesome!
lanceball is now known as lance|afk
<byteit101> enebo: indeed. Now instead of a copy of fxmlloader, it scans the file for fx:is's and event handlers, defines them on a dynamic proxy class which is then become_java!'d, and calls the real fxmlloader
<enebo> byteit101: neat
<nirvdrum> headius: Do you have the link for that HotSpot crash in 9k I was supposed to follow up on?
<enebo> nirvdrum: we were just hanging out so he will probably be home in 20-30 minutes
vyorkin has joined #jruby
<nirvdrum> That must be nice. I've been working with Chris for almost 10 months and haven't met the guy.
<enebo> nirvdrum: I have been working with lopex for almost 10 years and he refuses to meet me
<nirvdrum> Heh.
<enebo> nirvdrum: hopefully you will be at Rubyconf so we can hang out
<nirvdrum> I think that's the plan.
<nirvdrum> Still waiting to hear back on my talk proposal.
skade has joined #jruby
<lopex> enebo: I dont refuse, I'm in jail
tcrawley is now known as tcrawley-away
<lopex> bbrowning_away: managed to run that thing in a docker with deployment dir mounted outsite the container
<lopex> rubygems stalls sometimes in a container, no idea why
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
pitr-ch has quit [Ping timeout: 246 seconds]
vyorkin has quit [Ping timeout: 260 seconds]
<nirvdrum> enebo, lopex: I'm looking at this String#== microbenchmark (in bench9000) that eregon wrote a little while back. JRuby is about 7x slower than MRI.
<nirvdrum> And indy runs slower than nonindy.
<lopex> nirvdrum: Charlie's last report might remove lots of optz
<lopex> nirvdrum: anything shows in the profile ?
<lopex> nirvdrum: I bet sub/gsub/scan etc are now much much slower
<nirvdrum> I don't have historical data. And I haven't looked at profiles.
<nirvdrum> I just ran the bench for the first time and then reran it to be sure.
b_hoffman has quit [Quit: b_hoffman]
<enebo> nirvdrum: so they are actually the same string but unshared and a million chars long?
<enebo> err larger
<enebo> 10m
<nirvdrum> enebo: Yeah.
<enebo> well I can see one problem immediately
<nirvdrum> Obviously an extreme.
<enebo> we count from front and back at same time but go the entire way
<enebo> so we do 2n compares instead of n compares
vyorkin has joined #jruby
<nirvdrum> Truffle numbers are roughly the same, with our without Graal, FYI.
<enebo> which would be only be 2x of the 7x I guess
<lopex> where's the code ?
<enebo> ByteList.equal
<lopex> er, that benchmark
<lopex> enebo: that equal is not mine, but I suppose it's goal is to fail fast on general case
<lopex> nirvdrum: thx
<enebo> lopex: yeah I assume this is a pretty good algo for mismatched strings
<enebo> lopex: it just should stop half-way
<enebo> ceil(n/2)
<enebo> oh hey I think I misread this
<enebo> —last > first
<enebo> and ++first < lest
<lopex> yeah
<enebo> not sure both of those are needed
<nirvdrum> They are.
<nirvdrum> Otherwise you won't advance the first pointer.
<enebo> nirvdrum: for round down and round up
<enebo> err
<enebo> The ++ and — are required but is two compares really needed
<lopex> and maybe hoisting would help here too
<nirvdrum> I don't think so. If the string was an odd-length, it'd get caught by the first clause I'd think.
dinfuehr has joined #jruby
<enebo> lopex: I was wondering if single traveral which could eliminate need to bounds check would be better
<enebo> nirvdrum: but it is extra logic to prevent an extra compare right?
<enebo> nirvdrum: so n/2 extra compares to prevent one?
<lopex> enebo: jdk String goes from the bottom
<lopex> and they hoist
<lopex> though String== minght be an intrinsic
<lopex> er, equals
<enebo> lopex: ok I think removing bounds checking might possible be a win for this case internally but I am not sure it would be a better algo
<lopex> right
<enebo> I guess doing a bench with front, middle, end, no changes might be better in this micro bench
<enebo> this particular bench I find pretty pretty unlikely
<enebo> by itself anyways
<lopex> or bounds check elim might be the ultimate win :)
<nirvdrum> enebo: I'd have to think about it a bit more, but it might prevent the extra compare for the single character case.
<enebo> lopex: yeah it very well may
<enebo> lopex: this method may just be too clever and thwart hotspot in some way
samphippen has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
flegercovateam has quit [Quit: Leaving.]
<lopex> enebo: same feelings here
<enebo> I would think counting to 0 and only having a last < first would help
dinfuehr has quit [Ping timeout: 260 seconds]
<lopex> elim requires constant stride and known ceiling
<lopex> at very least
<nirvdrum> Could look at c1visualizer and see what you get out.
<enebo> then no bounds check internally and halve the comparative check in meat
<enebo> at the cost of +1 possible compare
skade has quit [Quit: Textual IRC Client: www.textualapp.com]
<enebo> lopex: counting to 0 should do it right?
<lopex> enebo: jdk does that
<enebo> hmm
<lopex> er, they from 0
<enebo> I wonder why this accesses non-final fields
<enebo> lopex: yeah it will internally rewrite it
<lopex> enebo: and yeah, jdk hoists to locals the buffers
<enebo> lopex: but I mean if it knows it has to stop by 0 it should be able to work out it cannot leave array bounds at a higher level
<enebo> lopex: oh sorry that was what you mean by hoisting
<lopex> enebo: afaik from 0 to n also eliminates the bounds
<lopex> since n is known ahead
<enebo> lopex: so long as value cannot exceed n
<lopex> enebo: oh, hmm if you hosit to locals, then the arrays cant change
<lopex> as well as it's length
<lopex> so you can eliminate
<lopex> well, just contemplating
<lopex> enebo: in old days I was always afraid of too much locals, since the bytecode grew as you added them :)
<lopex> enebo: but afaik they eliminate on more complex cases, like copying overlapping regions
<lopex> enebo: wrt that, we also have maybe too smart algo for nil filling in arrays
<lopex> *might have
<nirvdrum> I hate the Internet.
<enebo> lopex: history lost from 2008 when ola moves this to an independent package
<nirvdrum> Every single time I search for how do something efficiently, the top-voted answer is "did you profile? is this actually a problem?"
<enebo> lopex: you added otherBuf as local to improve perf which no doubt it a 1.4 improvement
<lopex> nirvdrum: I hope it's not a problem with cr
<enebo> nirvdrum: yeah we were talking about this recently that people should not reply if they are not going to answer your question…at least not on ask question sites
<lopex> enebo: there's also the begin
<enebo> lopex: begins might also help
<nirvdrum> lopex: MRI is able to a memcmp, which is presumably faster.
<lopex> they always cheat
<nirvdrum> enebo: I was looking to see if there was a memcmp equivalent for Java. The response was something along the lines of "is comparing two byte arrays really a bottleneck in your app?"
<nirvdrum> As if the guy that's looking for a memcmp equivalent in Java needed a lecture on profiling.
<enebo> hah
<lopex> nirvdrum: too bad there's no Arrays.equal with indices, there would be a chance of it being an intrinsic
<nirvdrum> enebo, lopex: I don't know how much it'll matter, but if begin is the same for both, we could use Arrays.equals()
<nirvdrum> And I suspect for a lot of strings, begin == 0.
<enebo> I wonder if bytebuffer.compareTo is native :)
<lopex> enebo: doesnt have to be native
<enebo> I somehow doubt calling wrap + native would work
<lopex> enebo: there's lots of things intrinsicised
<nirvdrum> I think Arrays.equals may get intrinsified.
<lopex> though I guess hotspot doesnt go into that nowadays
<lopex> nirvdrum: oh, right, didnt know how to spell that
<lopex> and even pronounce
<lopex> nirvdrum: so a case for 0 ?
<nirvdrum> lopex: I think it's a made up word, so I wouldn't be too worried about it.
<nirvdrum> lopex: If they have the same byte[] length and the same begin, I think you could just use Arrays.equals.
<enebo> nirvdrum: yeah the responses to questions like memcmp is that “The String library has been optimized”…yeah if you want to constantly transcode to utf-16le
<nirvdrum> Bah, no, it would need to be begin == 0 because there could be junk at the beginning.
<lopex> yep
<nirvdrum> Still, I think that's a lot of strings.
<lopex> worth a try
<nirvdrum> As long as you didn't take a substring, begin == 0, right?
<lopex> doh there's still the end :)
<lopex> it's a bummer there's no Arrays.equals with indices
<nirvdrum> lopex: Well, that's checkable via bytes.length.
enebo has quit [Quit: enebo]
<lopex> nirvdrum: otoh intrinsics dont pay of as well as they did in the past, it's a simple loop after all
<lopex> unsave!
pglombar_ has joined #jruby
<nirvdrum> Well, I think some of array intrinsics can vectorize.
<nirvdrum> Arrays.copy, for instance.
pglombardo has quit [Ping timeout: 250 seconds]
<nirvdrum> But I'd need to verify that.
rsim has quit [Quit: Leaving.]
pglombar_ has quit [Ping timeout: 260 seconds]
<lopex> but so could normal code
b_hoffman has joined #jruby
dinfuehr has joined #jruby
b_hoffman has quit [Client Quit]
dinfuehr has quit [Ping timeout: 250 seconds]
cristianrasch has quit [Quit: Leaving]
rcvalle has quit [Quit: rcvalle]
subbu is now known as subbu|afk