drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
tlarevo has joined #jruby
tlarevo has quit []
elia has quit [Read error: Connection reset by peer]
elia has joined #jruby
jensnockert has joined #jruby
jensnockert has quit [Read error: Connection reset by peer]
<GitHub181>
[jruby] pitr-ch pushed 4 new commits to master: https://git.io/vg2xn
<GitHub181>
jruby/master e797826 Petr Chalupa: [Truffle] jt: allow to run integration tests selectively
<GitHub181>
jruby/master 9125773 Petr Chalupa: [Truffle] Fix Time#+ and #- offset handling
<GitHub181>
jruby/master 0fb9f9e Petr Chalupa: [Truffle] j+tr: fix default path to interpreter
jensnockert has joined #jruby
<GitHub62>
[jruby] chrisseaton commented on commit e797826: Check your editor isn't changing whitespace automatically (unless you think this is an important change for some reason). https://git.io/vg2xV
elia has quit [Read error: Connection reset by peer]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 240 seconds]
pawnbox has joined #jruby
yfeldblum has quit [Ping timeout: 250 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
ITXpander has joined #jruby
<GitHub79>
[jruby] chrisseaton pushed 7 new commits to master: https://git.io/vgalJ
<GitHub79>
jruby/master df7ebf6 Chris Seaton: [Truffle] Trap control-c when running metrics, as we often loop on sub-processes exiting.
<GitHub79>
jruby/master 24814b8 Chris Seaton: [Truffle] Pull can_run_in_heap out as a method.
<GitHub79>
jruby/master 5ca98ef Chris Seaton: [Truffle] Try starting heap-search at 40 MB if it can't run in that space in a test run.
donV has quit [Quit: donV]
elia has quit [Read error: Connection reset by peer]
thil has joined #jruby
elia has joined #jruby
<thil>
Hi today I have installed torquebox-server getting following error message:Fetching: torquebox-server-3.1.2-java.gem ( 68%)OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000e5577000, 14516224, 0) failed; error='Cannot allocate memory' (errno=12)
<thil>
#
<thil>
# There is insufficient memory for the Java Runtime Environment to continue.
<thil>
# Native memory allocation (malloc) failed to allocate 14516224 bytes for committing reserved memory.
<thil>
# /home/ubuntu/hs_err_pid28664.log
<thil>
# An error report file with more information is saved as:
robbyoconnor has quit [Quit: Konversation terminated!]
vtunka has quit [Quit: Leaving]
robbyoconnor has joined #jruby
vtunka has joined #jruby
subbu is now known as subbu|breakfast
kingrs02 has joined #jruby
elia has quit [Read error: Connection reset by peer]
brauliobo has joined #jruby
elia has joined #jruby
brauliobo has left #jruby [#jruby]
elia has quit [Read error: Connection reset by peer]
elia has joined #jruby
jensnockert has quit [Remote host closed the connection]
<kingrs02>
I am looking to create a web application that needs to be able to use a java library. I know RoR so I was thinking jruby on rails would be the obvious choice. I did some searching and did not find much documentation. Can anyone point me to any good resources?
pawnbox has quit [Remote host closed the connection]
<chrisseaton>
kingrs02: it's not a sentiment analysis application is it?
pawnbox has joined #jruby
<kingrs02>
chrisseaton: In that realm of natural language processing and machine learning. Why?
<chrisseaton>
kingrs02: someone asked the same question yesterday
<chrisseaton>
You just write a RoR app as normal, but running on JRuby (so maybe a few differences, but not many) and then use the technique described in that wiki to call into Java
shellac has quit [Remote host closed the connection]
<kingrs02>
Okay i just wanted to make sure I wasn't going down a bad path. Thank you.
<chrisseaton>
You might want to consider Sinatra as well if it's a simple API you're writing
<GitHub95>
[jruby] chrisseaton pushed 2 new commits to master: https://git.io/vgVsX
<GitHub95>
jruby/master d123db1 Chris Seaton: [Truffle] Start higher heap size at 45 MB.
<GitHub95>
jruby/master 595794c Chris Seaton: [Truffle] Add colons to metrics output on CI.
<GitHub166>
[jruby] chrisseaton pushed 1 new commit to truffle-head: https://git.io/vgVsS
<GitHub166>
jruby/truffle-head b2d66a6 Chris Seaton: Merge branch 'master' into truffle-head
<enebo>
nirvdrum: I am asking charlie to look into the Process one
<enebo>
nirvdrum: once that is fixed we will see if the FTP problem is still there…it is weird since it seems like we should have had 2 failures in that one right?
blandflakes has quit [Client Quit]
blandflakes has joined #jruby
<nirvdrum>
Yeah.
<nirvdrum>
That one could have just been Travis I guess.
<nirvdrum>
The unsupported major.minor version looks like a legitimate problem.
<enebo>
lopex: almost like it is assumed quoted already
<lopex>
yeah
camlow325 has quit [Ping timeout: 276 seconds]
<enebo>
lopex: which makes this method seem hopefully misnamed now :)
<enebo>
hopelessly
<lopex>
yeah
<lopex>
mess
<enebo>
messnamed
<lopex>
but hwre is it quoted then
<enebo>
lopex: no doubt there is a bunch of cexts which probably call this method
<lopex>
enebo: right
<lopex>
ok, so I guess any regexp from string is quoted now
<enebo>
lopex: val = rb_check_string_type(pat); OR Check_Type(pat, T_REGEXP); would need to
<enebo>
lopex: well either would need to call something that does
<lopex>
enebo: Charlie removed to quoted caches on his latest string catchups
<enebo>
ah
camlow325 has joined #jruby
<lopex>
there's been quoted/unquoted weakref caches
<lopex>
it tremendously helped cases for split/gsub/sub/scan
<lopex>
but maybe more has change in mri internals
<lopex>
mri always had last used single entry cache
<lopex>
for loops
<lopex>
enebo: yeah I assumed it's the to_str at first
<lopex>
enebo: for these we were 20x faster than mri
<enebo>
lopex: there is a gsub in CGI.escapeHTML
<enebo>
lopex: would that regexp-user no longer cache?
<enebo>
lopex: or if I replace the regexp with a constant which refers to a regexp will it speed up?
<lopex>
enebo: where ?
<enebo>
lopex: I will look
<enebo>
def escapeHTML(string)
<enebo>
in lib/ruby/stdlib/cgi/util.rb
<lopex>
hmm they do explicitly rb_reg_regcomp in split now
<lopex>
enebo: I meand the cases like "foo".split("bar")
<lopex>
*meant
<enebo>
lopex: ah so made on the fly
<lopex>
yeah
<lopex>
we had a cache there
<enebo>
yeah we could emit a specialized callsite for that in IR
<lopex>
thpse regexps are super heavy to construct
<lopex>
enebo: when ?
<enebo>
although I would like more of a framework for this
<enebo>
lopex: in the future :)
<lopex>
but people just use strings for scans and gsubs too
<enebo>
lopex: when we emit callInstr (and children) in the JIT we need to be able to examine them and then emit different bytecode for them without complicating IR itself
ITXpander has joined #jruby
<lopex>
enebo: I'm confused
<enebo>
lopex: so in this case we could generate a cache as part of the callsite and have a fail path to a full dispatch
<lopex>
enebo: but I'm talking about core methods
<enebo>
lopex: we have call(“foo”, “bar” ; name: “split”)
ITXpander has quit [Client Quit]
<lopex>
ah, like an intrinsic ?
<enebo>
if we see split and see it is on a string we can emit regexp logic directly with a cache
<lopex>
ok then
<enebo>
I guess the problem is knowing how much to do this and how important the call is
jensnockert has quit [Remote host closed the connection]
<enebo>
if the java method will inline through our generated code it does not really matter
<enebo>
but in the case of needing a per site cache it probably does matter more
<lopex>
enebo: in this case knowing if it's a literal is good right ?
<enebo>
well in this case knowing the reciever is yeah
<lopex>
it could be installed on site
jensnockert has joined #jruby
<enebo>
possibly even knowing the arg is might be worth trying it
<enebo>
if you know you are calling a method “split” and passing in a string it might be worth going for it
<lopex>
well, passing a literal string is even better
<enebo>
but if you also know it is a string receiver it is probably nearly a guarantee
<enebo>
people can monkey patch but that is unlikely and will replace this site eventually with an inline since the monkey patch will be ruby code
oblutak has joined #jruby
<enebo>
or it might anyways
blandflakes has joined #jruby
<enebo>
lopex: I only asked about CGI.escape_html because Ruby 2.3 replaced Ruby impl with native C and we are now like 40% slower than them with pure Ruby version
<lopex>
enebo: I'm not sure we understand each other
<enebo>
for some dumb micro bench
<lopex>
I'm talking about a foo.split("bar") case
<enebo>
lopex: that is possible :)
<enebo>
lopex: is that even done with a regexp?
<lopex>
yes
jensnockert has quit [Ping timeout: 240 seconds]
<lopex>
and it used to affect the backrefs
<lopex>
:)
<enebo>
lopex: but we could do this pretty easy without a regexp
<enebo>
lopex: we just wanted to leverage regexp to make it simpler?
<lopex>
enebo: yeah, we've talked about that in the past
<lopex>
enebo: but there were some escaping oddities
shellac has joined #jruby
<lopex>
like the \\\ inconsistent thingy
tjohnson_ has joined #jruby
<enebo>
lopex: but ordinary string is just an escaped string
<lopex>
enebo: with slashes
<enebo>
lopex: but I guess it needs to handle escape literals
<enebo>
lopex: but that is really nothing more than literalize(String value)
<lopex>
enebo: not sure if I remember correctly but there were some oddities
tjohnson has quit [Ping timeout: 240 seconds]
<enebo>
lopex: where literalize just gets rid of backslash escaping
<enebo>
but I guess that would need a cache!
<enebo>
heh
tjohnson_ is now known as tjohnson
<enebo>
lopex: ok well to me it sounds like quote cachng affects more than just split
<enebo>
lopex: so fixing one example perhaps is only fixing one part of the problem
<lopex>
enebo: it used to affect scan/sub/gsub
<enebo>
lopex: my specialized call site idea is also a single point fix
<lopex>
oh and also partition it seems
<enebo>
LRU!
<lopex>
hah
<enebo>
lopex: caching has been a huge pain in the ass
<enebo>
lopex: at least pushing it back to JIT has made it simple because it is tied to the site
<lopex>
enebo: there's cool quote "caching, trading correctness for performance since ENIAC"
<enebo>
heh
<enebo>
lopex: I’ll drink to that
<enebo>
lopex: unless you cache destroys your VMs ability to optimize it
<enebo>
lopex: which arguably was not an issue for ENIAC
<enebo>
:)
<lopex>
enebo: you mean the "method too big, too much caching" hotspot warning ?
<enebo>
lopex: I just mean putting a lot of machinery in front of the value you are really using makes it harder to figure it all out