meh` has quit [Quit: I don't want to live on this planet anymore.]
amclain has quit [Quit: Leaving]
aghost has joined #rubinius
<aghost>
quick question: is there a way to disassemble ruby vm instructions from rbc precompiled code?
<aghost>
or if there is any rbc specification document?
aghost has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
aghost has joined #rubinius
benlovell has joined #rubinius
max96at|off is now known as max96at
maasha has joined #rubinius
<maasha>
rbx gem install google_hash -> sparse_ruby_to_double.cpp:251:45: error: ‘rb_dbl2big’ was not declared in this scope make: *** [sparse_ruby_to_double.o] Error 1
<maasha>
?
<maasha>
No homebrew recipe for rubinius :o(
<maasha>
That can't be right
havenwood has joined #rubinius
benlovell has quit [Ping timeout: 246 seconds]
Bwild has quit [Quit: leaving]
<dmilith>
maasha: cause homebrew can't be right ;]
<maasha>
sure, just wonder why homebrew don't have a recipe
<dmilith>
they have IIRC
<maasha>
And why does my freshly compiled rbx on Linux say 'bdver1' is not a recognized processor for this target (ignoring processor) all over the place ... ?
<dmilith>
lol, really they don't have rubinius
<dmilith>
that's funny then
elia has joined #rubinius
elia has quit [Quit: Computer has gone to sleep.]
<aghost>
can i directly execute bytecodes in Rubinius::CompiledCode ?
<cremes>
this should get added to a FAQ or something...
<maasha>
gotit, ty
<brixen>
maasha: Homebrew removed Rubinius because we had a dependency on Ruby to build Rubinius
<brixen>
maasha: but that dependency is being removed
<brixen>
maasha: in the meantime; brew update && brew tap rubinius/apps && brew install rubinius
<brixen>
maasha: if you have chruby installed, it will also copy to your ~/.rubies
<brixen>
maasha: regarding C-API functions missing, we implement what we need since MRI is just a big bag of C functions that C-exts randomly collect
<brixen>
maasha: you may end up with better performance using Ruby instead of wrapping google_hash
<brixen>
but then, I'm not totally sure what it is
<dmilith>
cremes: the last thing I would check is homebrew ;] sorry
havenn has joined #rubinius
havenwood has quit [Ping timeout: 245 seconds]
<maasha>
brixen: unfortunately my bottleneck with rbx is tr that is dead slow
<maasha>
grrr
<maasha>
evertybody should drop what they have in their hands and get on fixing that!
<maasha>
as if you have any life anyway :oD
<brixen>
maasha: how does google_hash help with tr?
meh` has joined #rubinius
benlovell has quit [Ping timeout: 255 seconds]
benlovell has joined #rubinius
mlen has joined #rubinius
<mlen>
Hi everyone! Is it possible to decompile/disassemble .rbc file?
<mlen>
I found rubinius-debugger, but I didn't find an option to just point it at a file
<mlen>
I only have the file with the bytecode, so loading debugger there isn't an option
<maasha>
brixen: two different issues. in MRI my bottleneck is hash - but google hash saves the day. In rbx tr is the problem overshawdowing hash issues.
<brixen>
maasha: what is your actual performance requirement?
<brixen>
ie, latency, through-put, total runtime for a specific job, etc?
<brixen>
all performance is not equal
<brixen>
all performance needs are no the same
<brixen>
s/no/not/
elia has joined #rubinius
<brixen>
maasha: are these all us-ascii strings?
<maasha>
brixen: its been a while since I did the actual profiling, but back then 40% time was tr
<maasha>
should be 0
<brixen>
what I mean by that question is, for example, if you only need total work done and you have few data dependencies, you can parallelize it to meet your target
<brixen>
you don't need any one piece to run faster than the whole process runs
<brixen>
if it's latency, that's a different requirement
<brixen>
etc
<brixen>
maasha: what "should be 0"?
<maasha>
brixen: I was expecting tr to turn up more or less as 0% in the profiler. tr ought to be ugly fast.
<brixen>
why ought it be so?
<maasha>
brixen: it is in Perl - a lookup map is created at compile time and thus it runs at C speed.
<brixen>
everything runs at C speed :p
<maasha>
brixen: in rbx it is a ruby iteration.
<brixen>
the question is merely how much work is being done "at C speed"
<brixen>
you can create a lookup table in Ruby
<maasha>
brixen: but it should be done by the C preprocessor
<brixen>
perhaps
<brixen>
but this is why I asked about encoding
<brixen>
is this us-ascii data? or does it have an encoding?
<maasha>
brixen: and with inline::C you get another 50x speed
<brixen>
unsurprising
<brixen>
I just looked at the JIT output and it's using too many functions
<brixen>
which is something I'll fix soon
<maasha>
but there is should be in the first place IMHO
<brixen>
anyway, while #tr should be fixed, it's not a blocker
<brixen>
if you want to help get #tr fixed, make the specs excellent
<brixen>
so there's no confusion about what behavior is with encoding
<maasha>
brixen: thing is I get confused with utf-8
<brixen>
maasha: seriously, you're not going to get much of a warm response with "it should be C speed to begin with"
<brixen>
got write a ruby implementation
<brixen>
that works
<maasha>
brixen: but for ascii one should simply copy Perls tr.
<brixen>
come back and tell me how it should be
<brixen>
or go use Perl
<maasha>
brixen: ok, let me get this right. We need a pure ruby implementation because that is what rbx is ultimately about implementing Ruby using Ruby.
<brixen>
nope
<maasha>
?
<brixen>
what's your question?
<brixen>
what you asserted is incorrect
<maasha>
If I was going to write tr in inline::C I would use a 256 char array to map from search value to replace value.
benlovell has quit [Ping timeout: 240 seconds]
elia has quit [Quit: Computer has gone to sleep.]
<maasha>
so that is what are doing as well.
<maasha>
*you are doing as well
maasha has quit [Quit: Page closed]
amclain has joined #rubinius
`fox` has joined #rubinius
<`fox`>
hi, i was wondering if there is a decompiler/disassembler for rubinius bytecode out there
<`fox`>
any hint?
aghost has joined #rubinius
aghost has quit [Client Quit]
benlovell has joined #rubinius
nirvdrum has joined #rubinius
benlovell has quit [Ping timeout: 264 seconds]
<cremes>
`fox`: i recommend searching the blog at blog.rubini.us and looking for an article on bytecode obfuscation. if there’s a way to undo it, that article will likely show the way.
<`fox`>
cremes, i did not find any article on bytecode obfuscation :(
elia has joined #rubinius
elia has quit [Quit: Computer has gone to sleep.]
aghost has joined #rubinius
meh` has quit [Quit: reboot]
meh` has joined #rubinius
aghost has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
benlovell has joined #rubinius
max96at is now known as max96at|off
aghost has joined #rubinius
benlovell has quit [Ping timeout: 256 seconds]
havenwood has quit [Remote host closed the connection]