goyox86 has joined #rubinius
brasten has quit [Quit: brasten]
enebo has joined #rubinius
enebo has quit [Client Quit]
Ori_P has quit [Ping timeout: 244 seconds]
<brixen> |jemc|: I'll make you some repos
<brixen> |jemc|: just need to know what to name them
<brixen> |jemc|: should there be a repo for influxdb and a separate one for grafana?
Ori_P has joined #rubinius
<brixen> I guess we can always rename it
diegovio1 has joined #rubinius
diegoviola has quit [Ping timeout: 264 seconds]
<|jemc|> brixen: that's what I would have named it probably
<|jemc|> thanks
diegovio1 is now known as diegoviola
<brixen> |jemc|: thank you!
<|jemc|> brixen: want to give me push access, or just work via PRs?
<brixen> |jemc|: check your invites :)
<brixen> interesting https://faunadb.com/
goyox86 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<|jemc|> brixen: thanks :)
<brixen> |jemc|: n/p
<brixen> |jemc|: really appreciate your work on it among all the other things you're doing
<|jemc|> brixen: variety is the spice of life :)
Ori_P has quit [Quit: Computer has gone to sleep.]
josh-k has joined #rubinius
<|jemc|> back in a bit
josh-k_ has joined #rubinius
|jemc| has quit [Ping timeout: 264 seconds]
josh-k has quit [Ping timeout: 250 seconds]
amsi has quit [Quit: Leaving]
brasten has joined #rubinius
brasten has quit [Quit: brasten]
josh-k_ has quit [Remote host closed the connection]
parndt has joined #rubinius
parndt has quit [Ping timeout: 245 seconds]
parndt has joined #rubinius
parndt has quit [Remote host closed the connection]
<brixen> 201 files changed, 7541 insertions(+), 5428 deletions(-)
<brixen> 2115 files, 12947 examples, 39064 expectations, 14 failures, 4 errors
<brixen> almost there
meh` has quit [Ping timeout: 245 seconds]
Bwild has joined #rubinius
diegoviola has quit [Remote host closed the connection]
havenwood has quit [Ping timeout: 250 seconds]
Caius has quit [Ping timeout: 260 seconds]
Caius has joined #rubinius
Caius has joined #rubinius
craigp has joined #rubinius
DanielVartanov has joined #rubinius
johnmuhl has quit [Quit: Connection closed for inactivity]
havenwood has joined #rubinius
dzhulk has joined #rubinius
[spoiler] has quit [Disconnected by services]
omninonsense has joined #rubinius
craigp has quit []
dzhulk1 has joined #rubinius
dzhulk has quit [Ping timeout: 244 seconds]
|jemc| has joined #rubinius
Ori_P has joined #rubinius
Ori_P has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
DanielVartanov has quit [Remote host closed the connection]
dzhulk1 has quit [Quit: Leaving.]
|jemc| has quit [Ping timeout: 272 seconds]
josh-k has joined #rubinius
josh-k_ has joined #rubinius
havenwood has quit [Remote host closed the connection]
josh-k has quit [Ping timeout: 256 seconds]
blacky has joined #rubinius
dzhulk has joined #rubinius
<blacky> brixen: Hi ! Yesterday, with my rubinius's problem when I restart my laptop, my path/rbx works and I played with irb. Now I'll try to debbug rubinius. :)
<blacky> Have a nice day.
blacky has quit [Quit: Quitte]
nino has joined #rubinius
omninonsense has quit [Ping timeout: 255 seconds]
benlovell has joined #rubinius
benlovell has quit [Ping timeout: 245 seconds]
max96at|off is now known as max96at
josh-k_ has quit [Remote host closed the connection]
dreinull has quit [Remote host closed the connection]
dreinull has joined #rubinius
meh` has joined #rubinius
<yorickpeterse> The more I dig into this parsing stuff, the more I wonder how the hell Racc is so much faster than my LL parser
<yorickpeterse> even the one written in C (though it's basically a port of the Ruby code) is slower
<yorickpeterse> and looking at the code of cparse.c I don't see it using any secret webscale datastructures (e.g. using a C array for a stack, instead of a Ruby array)
<yorickpeterse> Although it does use goto operators quite extensively
<Rotonen> my guess: something the gotos implement is incredibly compiler friendly by accident
<Rotonen> does it react to -O flags in which ways?
<yorickpeterse> not that I can see
<Rotonen> compilers these days are scary good too
<Rotonen> i've to a degree found it better to write stupidly simple "inefficient" code since 2010 or so
<yorickpeterse> https://gist.github.com/YorickPeterse/5bae466366b915608bab so this is basically what I have
<Rotonen> the compilers do things way better than i do and i'll rather cater to them and to reusability without extensive documentation
<yorickpeterse> basically the Ruby code is 1,5 times slower than Racc, the C code 1,3 times
<yorickpeterse> hm, perhaps if I use instance variables vs constants
<yorickpeterse> I messed around first with doing this in C++ and using std::vector/std::stack, but it didn't really bring any perf boosts :/
<yorickpeterse> hm, and moving from constants to ivars doesn't really do anything
<yorickpeterse> neither did using native C arrays for the C code (so no Ruby constant lookups)
<yorickpeterse> Hm, apparently Array#[] is a bit faster than Array#at
<yorickpeterse> it has some optimization for fixnums apparently
<yorickpeterse> well, I got my Ruby code to be faster than my C code now
<yorickpeterse> yay inlining method calls manually
<yorickpeterse> I should probably /nick jit-peterse
<yorickpeterse> Fuck yeah, my C code is now 1.12x faster than Racc
<yorickpeterse> not exactly the ~3x I'm hoping for though
<yorickpeterse> s/hoping/aiming
omninonsense has joined #rubinius
Bwild has quit [Quit: leaving]
nino has quit [Ping timeout: 240 seconds]
<Rotonen> yorickpeterse: the key was?
<yorickpeterse> Yessss, my Ruby code is now on par with Racc
<yorickpeterse> Rotonen: moved a bunch of Array#[] calls out of a hot loop, inlined a few method calls as well
<yorickpeterse> basically I'm doing what a JIT normally does :P
<yorickpeterse> Although I think I've now hit a limit with the Ruby code, there's not much more I can optimize using just Ruby
<yorickpeterse> https://gist.github.com/YorickPeterse/5bae466366b915608bab updated Gist for the curious
<yorickpeterse> I can probably give C++ another try and see what happens now if I use std::vector instead of Ruby arrays
<yorickpeterse> ha, on Rbx my pure Ruby code is actually 1,3x faster than the C code
<yorickpeterse> and 1,5x than Racc
<yorickpeterse> yet Rbx is slower overall compared to MRI :/
havenwood has joined #rubinius
<yorickpeterse> Bah, my C++ code using std::vector/std::stack is slower than using Ruby arrays in C
goyox86 has joined #rubinius
josh-k has joined #rubinius
goyox86 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
josh-k has quit [Ping timeout: 264 seconds]
<yxhuvud> yorick: iirc, stdlib vectors are known to be dog slow.
<yorickpeterse> hmpf
<yorickpeterse> also, can't get fucking utarray to work...as usual
<yorickpeterse> That library is so confusing to use
enebo has joined #rubinius
diegoviola has joined #rubinius
<yorickpeterse> euh wtf, I have this C code now which works fine if I run it a few million times
<yorickpeterse> but somehow when I run the benchmark of it I get some random Ruby error
<yxhuvud> does it work fine if run through valgrind as well?
<Rotonen> does scan-build return zero on it?
<yorickpeterse> and Valgrind doesn't detect anything
<yorickpeterse> scan-build?
goyox86 has joined #rubinius
<Rotonen> my favourite new shiny toy of the past few years, i've had the most use of this one
<Rotonen> all of my jenkins jobs, which can sensibly go through that, will go through that
<yorickpeterse> hmm
<Rotonen> if you use autotools, do take note to run ./configure through it too, it uses some simple 'gets the job done' hackery to hijack your compiler chain
<Rotonen> well documented on that page, though
<yorickpeterse> I'm using Ruby :P
<Rotonen> you've been talking of C
<Rotonen> also, dunno if anyone ever put a ruby interpreter through that
<yorickpeterse> ehm, how the fuck do I install scan-build
<yorickpeterse> Rotonen: Yes, C for Ruby
<Rotonen> most likely it will cry and crash into a corner on something that complex as MRI
<yorickpeterse> oh derp there's a page
<yorickpeterse> meh
<Rotonen> llvm usually ships with scan-build
<Rotonen> then again since 3.2 it has gotten better and better
<Rotonen> and on 3.4 i've not seen any false positives in my codebases anymore
goyox86 has quit [Ping timeout: 244 seconds]
diegoviola has quit [Quit: WeeChat 1.0.1]
elia has joined #rubinius
<yorickpeterse> ugh, seems storing VALUE pointers somewhere in a struct isn't something Ruby likes
elia has quit [Quit: Computer has gone to sleep.]
<yorickpeterse> oh yeah and now all of a sudden it works
<yorickpeterse> but not always
<yorickpeterse> smells like the GC is fucking up the pointers
<yorickpeterse> boom, GC guard seems to do the trick
<yorickpeterse> oh nope it doesn't, darn
<Rotonen> always fun when you have to try to wave a rubber chicken at your VM internals (at least theorethically you can in this case follow the source...)
<yorickpeterse> hmpf, my code isn't really faster than using Ruby arrays in C though
<yorickpeterse> argh, scrap that idea too
<yorickpeterse> at least my code is a whopping 1.17x faster than Racc
<yorickpeterse> that's really going to help cut down 3 seconds of parsing time :/
<yxhuvud> what are you parsing that is taking so much time?
btcctf has quit [Ping timeout: 244 seconds]
btcctf has joined #rubinius
elia has joined #rubinius
elia has quit [Quit: Computer has gone to sleep.]
elia has joined #rubinius
max96at is now known as max96at|off
<yorickpeterse> yxhuvud: XML
<yorickpeterse> Though in this particular test case I'm using a very simple JSON grammar
elia has quit [Quit: Computer has gone to sleep.]
|jemc| has joined #rubinius
tenderlove has quit [Quit: Leaving...]
dzhulk has quit [Read error: Connection reset by peer]
dzhulk has joined #rubinius
meh`_ has joined #rubinius
meh` has quit [Ping timeout: 250 seconds]
<|jemc|> hm, for some reason the docker-contained grafana is "unresponsive"
<|jemc|> must be missing some piece of configuration...
havenwood has quit [Remote host closed the connection]
enebo has quit [Quit: enebo]
omninonsense is now known as spoiler
spoiler is now known as [spoiler]
havenwood has joined #rubinius
dzhulk has quit [Read error: Connection reset by peer]
dzhulk has joined #rubinius
<|jemc|> ah, there we go
parndt has joined #rubinius
parndt has quit [Ping timeout: 272 seconds]
omninonsense has joined #rubinius
nino has joined #rubinius
[spoiler] has quit [Ping timeout: 244 seconds]
omninonsense has quit [Ping timeout: 244 seconds]
<|jemc|> brixen: pushed up a working container to the repo
<|jemc|> created a rubinius org on hub.docker.com (and I'm happy to surrender control of it whenever), but to set up Automated Builds we have to add a service hook to the github repo (which I don't have permissions to do)
<|jemc|> if you create an account on hub.docker.com, I can add you to the rubinius organization there
<|jemc|> I'll do a README in the repo and a blog post within the next few days
nino has quit [Read error: Connection reset by peer]
[spoiler] has joined #rubinius
[spoiler] has quit [Quit: Leaving]
[spoiler] has joined #rubinius
[spoiler] has quit [Ping timeout: 240 seconds]
dzhulk has quit [Quit: Leaving.]
carlosgaldino has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
diegoviola has joined #rubinius
josh-k has joined #rubinius
josh-k_ has joined #rubinius
josh-k has quit [Ping timeout: 244 seconds]