Index

Show enters and exits. Hide enters and exits.

05:23:23dbussinkevan: ping?
05:24:11dbussinkevan: i know antonio cangiano is doing a new ruby shootout, maybe you want to run it yourself too
05:24:26dbussinkand see if there are like easy big pain points to fix
05:28:27postmoderndbussink, speaking of ruby shootout
05:28:37postmoderndbussink, i have those profiler graphs for Bundler.setup
05:39:36dbussinkpostmodern: do they show anything specific?
05:39:50postmoderndbussink, not really
05:40:46postmoderndbussink, http://fpaste.org/Tfhv/ and http://fpaste.org/dJCu/
07:09:51dbussinkcremes: you're right that datamapper should work fine with rbx
07:10:09dbussinklooks like pjb3 has some weird extension compiled that breaks things
07:10:26dbussinki know that can be an issue on gentoo, because it strips some library symbols by default
17:38:33dbussinkevening :)
17:53:56dbussinksbryant`: not much going yet i guess :P
17:56:02evandbussink: :)
17:56:08evanbrixen and I are in SF
17:56:14dbussinkevan: ah, at the ey office?
17:56:18evanso we're talking in the main channel, ie, in person.
17:56:19evanyep.
17:56:21dbussinkevan: saw my messages from this morning?
17:56:28evannope
17:56:40dbussinkah, antonio is publishing a new shootout shortly
17:56:47evanok
17:56:49evanon linux?
17:56:51dbussinkyeah
17:57:09dbussinkhe did a windows and os x one (no rbx on os x, but it will be included in the linux one)
17:57:44evanwtf.
17:57:48evanwhy not rbx on OS X?
17:58:12evani don't see a new OS X one posted
17:58:15evandid you talk to him?
17:58:26dbussinknah, it was more focussed on comparing macruby with 1.8 / 19
17:58:27dbussink1.9
17:58:37dbussinkor did you see that one?
17:58:47evanno
17:58:48evanwhere is it?
17:58:54dbussinkhttp://programmingzen.com/2010/06/28/the-great-ruby-shootout-windows-edition/
17:58:58dbussinkit has a link to the macruby one
17:59:31evanoh, that one
17:59:32dbussinkalso announces the upcoming linux one
17:59:33evanyeah, ok
17:59:35evanthat was just macruby
17:59:36evangotcha.
17:59:54evanI wish RBS had better actual benchmarks
18:00:01evanoh well.
18:00:19dbussinkwell, people do read it
18:00:40dbussinkit's not so much showing off great in this, but more maybe trying to prevent some fud
18:00:44dbussinkbut that's hard :P
18:02:11evanwell, the scope of certain RBS benchmarks is quite wrong
18:02:18evanwhich doesn't matter so much for outside viewers
18:02:23evanbut does matter to me.
18:02:39evanby scope i mean there are eval benchmarks in the micro-benchmarks directory
18:04:33dbussinkevan: i guess eval is used in a micro usage for a lot of ruby people ;)
18:04:39dbussinkevan: look at rspec for example :P
18:06:30evan*eyeroll*
18:08:22dbussinkevan: did you bench the difference in just running empty specs before and after the changes to caller / write barrier etc?
18:09:34evancaller, yes. wb, no.
18:09:41evanit improved with the caller change
18:09:45evanbut it's still about 2x slower.
18:09:50evani improved dup too
18:09:55evanwhich should make a minor difference
18:17:13dbussinkah, i can try how fast a full datamapper run now is
18:17:19dbussinkto see if that makes a difference
18:32:56evank
21:22:31toulmeanhey guys
21:30:41toulmeanok I got a bug for rubinius to report and then vanity should be much better.
21:33:24toulmeanhttp://github.com/evanphx/rubinius/issues/issue/394
21:34:34toulmeanI can help fix it by implementing to_str as an alias of to_s ?
21:34:45toulmeanor changing the code of unlink.
21:48:29brixentoulmean: #unlink needs to be fixed
21:51:16brixentoulmean: I take it back
21:51:56brixentoulmean: http://gist.github.com/460619
21:53:05toulmeanbrixen: so you mean...
21:53:30comronHey, can anyone help me with "Unable to find 'iconv_open' (FFI::NotFoundError)
21:53:58evancomron: you've got a iconv from macports
21:54:00comronI feel like I've built rbx wrong. I've tried both with rvm and from a git clone.
21:54:08comronYeah, I probably do.
21:54:14brixencomron: what is your LD_LIBRARY_PATH set to?
21:54:15comronSo, install from source?
21:54:29evanmacports, for some bizarre reason, installs a libiconv that has libiconv_open
21:54:33comron /opt/local/lib:/usr/local/lib:/usr/lib:
21:54:40brixencomron: that's your problem
21:54:49brixencomron: are you on OS X?
21:54:49comronso, swap opt/local out to the end
21:54:54evanyeah, try that.
21:54:55comronyes OS X
21:54:58comronOk.
21:54:59brixencomron: yes, swap that
21:55:05evanwe need to deal with this in lib/iconv.rb so people don't have to do this.
21:55:10comronevan, do you have any of your slides from the rubinius talk at rails conf around?
21:55:11slavasounds like an easy workaround
21:55:17comronI'm giving a summary presentation to my team.
21:55:28evancomron: ah ok!
21:55:33evansure, let me get them up.
21:55:36comronThanks.
21:55:42toulmeanbrixen: I didn't catch your meaning earlier.
21:56:06brixentoulmean: I think I'm running the same code in your ticket under MRI and getting an exception
21:56:10comronevan: I think the slide I have of String#+ vs. MRI rb_str_plus sums it up nicely though :)
21:56:26brixentoulmean: I cannot see in 1.8 or 1.9 that passing a File instance to File.unlink should work
21:56:38evancomron: which slide is that?
21:57:19brixentoulmean: did you catch that?
21:57:31comronI just went and grabbed the two implementations of String#+ from rbx and mri, just as one of my slides summerizing rbx :)
21:57:36toulmeanbrixen: all clear now.
21:57:45toulmeanok so will work on why a file object is passed.
21:58:09comronalso, I saw in some old materials a reference to 'rbx describe foo'
21:58:09brixentoulmean: okie
21:58:16comrondoes rbx describe still exist in some form?
21:58:19brixencomron: that's old
21:58:25brixencomron: see rbx compile -h
21:58:28comronk
21:58:41brixencomron: in particular, rbx compile -BS file.rb
21:58:58comronbrixen: thanks
21:59:00brixencomron: that will give you sexp and bytecode output, which is what describe used to do
21:59:09brixencomron: also, you can read from STDIN with -
21:59:19evancomron: ah ah! yes.
21:59:46comronbrixen: prefect
22:00:13brixencomron: also note the -N option, very nice for a big file where you just want to inspect one method :)
22:00:15comronby the way, this is easily the fastest response I've gotten from an irc channel regarding something technical in a long long time.
22:00:22brixenwoot! :)
22:01:03comronevan got me fired up about rbx at RailsConf, whats the best way to get my feet wet contributing?
22:01:49brixencomron: run your code
22:02:00brixencomron: also, you can check doc/contributing.txt for ideas
22:02:14evanyes, running your code and seeing what doesn't work is the best way.
22:02:38parndtwhat's the best way for tracing where in my application is taking time when using rubinius? or do I use a tool like newrelic instead?
22:02:49parndt(web app on rails)
22:03:07comronOK, I've found one gem we use thats causing a problem, I started to try and fix it at RailsConf, heard of blockenspiel?
22:04:09comronNeed an rbx equivelent for: http://github.com/dazuma/blockenspiel/blob/master/ext/blockenspiel/unmixer_mri.c
22:04:25comronoh, looks like hes updated it
22:04:28comronnevermind :)
22:06:35comronevan, brixen: thanks for the help. I'll stick around to see if you get those slides up later, evan.
22:07:14evani'll put them up now
22:07:16evanone sec.
22:08:08ribrdbbrixen: do you have a url for that peg grammar for ruby you mentioned at rails conf?
22:08:31brixenribrdb: the one written in scheme?
22:09:02ribrdbcould be, I don't remember
22:09:04brixenparndt: we don't know if newrelic works with rbx
22:09:31ribrdbbrixen: I think you said it was written by someone at university of utah
22:09:39brixenribrdb: yep, that's the one
22:09:49brixenthe guy usually hangs out in #rubyspec but he's away right now
22:11:46brixenparndt: so one option is to run your app with -Xprofile
22:12:18toulmeanbrixen: the code from vanity does use the exact File.open, File.unlink sequence we have seen did not work.
22:12:27toulmeanbrixen: he must be using 1.9.2
22:12:47toulmeanany chance this might be possible with some cutting edge version of MRI ?
22:12:51evancomron: http://www.slideshare.net/evanphx/rubinius-10-and-more
22:12:58brixentoulmean: hum, we checked the code on 1.9.2
22:13:02brixentoulmean: I'll run a test...
22:13:09toulmeansorry for the trouble.
22:13:17brixenparndt: you could also do something like this in your code http://gist.github.com/460644
22:13:29brixenparndt: see the kernel/delta/profiler.rb code in rbx
22:13:52ribrdbbrixen: what's his nick?
22:15:51parndtbrixen: awesome thanks Brian
22:15:55brixentoulmean: yes, it works on 1.9.2
22:16:02brixentoulmean: but we are 1.8.7 :)
22:16:28brixentoulmean: File.unlink f.path should be cross version
22:16:29toulmeanbrixen: it's up to you to support this.
22:16:37brixentoulmean: how so?
22:16:37toulmean... I know....
22:16:40evanhuh?
22:16:40evanno
22:16:46evanwe're not 1.9
22:16:50toulmeanwell you are in charge, you decide guys.
22:16:51brixenribrdb: jonrafkind
22:17:00toulmeandon't get me wrong.
22:17:00evantoulmean: we can't run vanity
22:17:04evanit only runs on 1.9
22:17:08toulmeanthen you can't indeed.
22:17:15toulmeanI didn't know.
22:17:24evanvanity doesn't run on MRI 1.8 or jruby either.
22:17:25evanthen.
22:17:32toulmeanthe tests at least yes.
22:17:33evanit's not a Rubinius specific problem.
22:17:41toulmeanyes, that's clear to me now.
22:18:01toulmeanSorry. If you want, keep my issue for when you shoot for 1.9 compat.
22:18:13toulmeanI use this as a learning experience.
22:18:48evanwell, thats not a place for 1.9 compat stuff
22:18:50brixentoulmean: we have specs for 1.9 compact
22:18:51evanissues isn't.
22:19:01brixener compat
22:19:20toulmeanok.
22:19:42toulmeanhere is what I'll do
22:19:52toulmeansend a nice email to Assaf to tell him about it
22:19:59toulmeansee if he's ok changing that.
22:20:03brixentoulmean: tell him to run vanity on 1.8.7
22:20:06evantoulmean: ok
22:20:09brixenonce that passes, we'll be happy to run it
22:20:19toulmeanthen if that happens, I'll run the tests and we can do profiling.
22:20:30toulmeansince apparently that was a complain.
22:20:35brixensounds good
22:20:36toulmeank with you guys ?
22:20:45brixensure, we're happy to look at any issue
22:21:09evantoulmean: sounds great
22:21:14evanthanks for working on this
22:21:17toulmeanok. Happy to help.
22:32:46toulmeanbrixen: evan: the gist of the rake test profiling of vanity is here: http://gist.github.com/460668
22:32:49justin-georgebrixen: New Relic hasn't tested the agent on rbx, but it might work
22:33:16justin-georgeit's on my to-do list to make sure it does :)
22:33:32toulmeanvanity runs subshells of ruby, hence the multiple table results.
22:33:33toulmeanhth
22:47:58goyox86people, this looks interesting http://pharo-project.org/, a fork of squeak :-)
22:48:20slavasqueak sucks...
22:50:26goyox86slava: based on? Imlpementation?
22:50:46comronevan: is there anyway to get -Xprofile to show that a method got inlined/optimized away? I'm looking at your def m; nil; end; example in those slides
22:51:52slavagoyox86: its total spaghetti code
22:51:55slavawith no docs :(
22:52:43goyox86slava: agree :]
22:53:43goyox86slava: Which do you think is the best Smalltalk implementation today?
22:53:58slavanot sure, smalltalk seems to have lost steam to be honest
22:54:09slavarbx is the best smalltalk implementation today :)
22:59:23goyox86slava: :)
23:22:12evancomron: on master, I just committed something to do that
23:22:16evanuse -Xjit.profile instead
23:22:26evanthat runs profiling, but doesn't disable the JIT
23:22:37evanso you'll see inlined methods disappear from the output
23:22:57evanusing -Xjit.inline.debug to see the JIT choosing things helps too.
23:22:58brixenjustin-george: cool!
23:26:52justin-georgebrixen: I may actually just go do that now that rails 3 is reasonably working.
23:40:24comronevan: thanks
23:41:56comronevan: Error: signal SIGBUS
23:42:05comronwith -Xjit.profile
23:42:11comronI'll dig some more.
23:45:16comronevan: sorry, cloned git repo worked with -Xjit.profile, version i have installed with rvm died. rubinius 1.0.1 (1.8.7 release 2010-06-03 JI) [i686-apple-darwin9.8.0]
23:45:18comronthanks.
23:55:15justin-georgebrixen: is there a site with 'compatible with rubinius' like there was for 'isitruby19' or whatever?