Index

Show enters and exits. Hide enters and exits.

00:00:06tlockneyI snipped it a bit
00:00:18tlockneywant more?
00:00:21tlockneybacktrace?
00:00:29brixenlooks
00:01:04rueCould hack up a Readline.keycode (or just stick a p in there)
00:01:19tlockneyrue: I might give that a look later
00:01:25tlockneyit's the lesser issue at the moment
00:02:01brixentlockney: hmm, do you get !SyntaxError! The following output from shotgun caused eval() to fail:
00:02:13brixentlockney: pastie me a bt, please
00:03:02tlockneybrixen: http://pastie.caboo.se/43003 -- that
00:03:06tlockneys the last bit
00:03:19tlockneyrunning it with -b
00:03:28tlockneythe beginning part is the same
00:04:20tlockneywondering if I'm getting into trouble since I've actually changed some of the exception code itself
00:04:25brixentlockney: interesting, have you changed the specs?
00:04:29rueReadline actually does not seem to work at all here
00:04:31brixenI'm getting a different exception
00:04:59tlockneybrixen: only changed
00:06:13tlockneyugh, ssh keeps dying on me
00:06:24brixentlockney: heh, figured it must have
00:06:36brixentlockney: it's like the cingular dropped call commercial ;)
00:06:36tlockneyonly changed the specs to add the correct output from Exception#message
00:07:04tlockneyyeah, two layers of ssh to an irssi session from Texas to Oregon is probably not ideal
00:07:07evanwoop!
00:07:07brixentlockney: and you were saying it works in sirb, but not specs, right?
00:07:11evan1.660 seconds!
00:07:28brixenevan: context! is that compiling sirb?
00:07:50evanyep.
00:07:55tlockneybrixen: well, that was specifically referring to something about where I was implementing my new Exception#message impl
00:07:56brixenevan: do you have a copy of the bm used in that article?
00:08:04evanvatu :: rbx-branches/method-cache> time ./shotgun/rubinius -c bin/sirb.rb
00:08:04evanCompiled bin/sirb.rb to bin/sirb.rbc
00:08:04evan./shotgun/rubinius -c bin/sirb.rb 1.42s user 0.10s system 91% cpu 1.660 total
00:08:05brixenevan: it would be interesting to see what you get running it now
00:08:12brixenevan: sweet!
00:08:52evanbrixen: i don't have the benchmarks from that blog post
00:09:09brixenevan: I think they're in 1.9 repo?
00:09:14brixenevan: le'me check..
00:09:17evank
00:09:53tlockneybrixen: what error did you get running the specs?
00:10:02brixenevan: yea, supposedly benchmark folder in 1.9 repo
00:10:30brixenlooks for url for 1.9 repo
00:10:52brixentlockney: fails on the SecurityError spec with a syntax error
00:11:12tlockneyah, yes, I *was* getting that issue earlier. let me see what I changed to get past that
00:11:13brixentlockney: never get the bt's of the rest of the failures cus it bombs out of rspec
00:14:17tlockneybrixen: it's the next spec after SecurityError that's causing that issue, need to remove the 0 from the call to new()
00:15:19tlockneythat is, SystemCallError.new(0) should be SystemCallError.new
00:15:37brixentlockney: k
00:15:39tlockneyof course, then it fails right after the ZeroDivisionError, havn't figured out why yet
00:16:28brixentlockney: hmm, SystemCallError on mri requires the new(0)
00:16:40brixenI remember being surprised by that
00:17:13tlockneybrixen: that is odd, guess that's something else that needs to be fixed in the Exception tree
00:17:15brixentlockney: well, it needs an arg to new, I just put 0 in
00:18:10brixentlockney: and it's odd that message is causing these to fail, since all the specs do is assert an inheritance chain (sort of)
00:18:33brixentlockney: sorry, not much help, but I haven't looked at message at all
00:18:38tlockneybrixen: that's why I'm so damned confused and lost!
00:18:54tlockneymessage *should* be simple
00:19:03brixentlockney: well, depends what message is doing
00:19:09brixenand I don't know :P
00:19:51brixentlockney: I'm gonna have to leave this in your capable hands for now, gotta try to finish something and some homework
00:20:02tlockneyno worries, thanks for the help
00:20:53brixentlockney: or total lack thereof? sure, np :D
00:21:26tlockneybrixen: well, at least you helped me remember SystemCallError required args! ;)
00:21:43brixenevan: http://svn.ruby-lang.org/repos/ruby/trunk/benchmark
00:21:52brixenevan: I guess ruby/trunk *is* 1.9 now
00:22:14brixentlockney: heh
00:39:24zedas leaves the room.
00:53:18novaburst leaves the room.
00:55:31hornbeck leaves the room.
00:55:48nicksieger leaves the room.
01:10:14olabini leaves the room.
01:17:32hurdlea leaves the room.
02:18:36olabini enters the room.
02:20:45laneuis leaves the room.
03:07:33tennin leaves the room.
03:11:59boyscoutevan * [798] /rubinius/trunk/shotgun/lib (13 files) A few more performance changes. More gcc flags, more inlining, and the addition of cpu->ip_ptr, which should be faster than doing cpu->data[cpu->ip] to get the next operation.
03:32:04brixenw00t! I'm running string specs and their cruizin!
03:32:07brixenthanks evan!
03:32:43evanyay!
03:32:50scooprhm, I left my working copy in unbuildable state since I last touched it :(
03:33:10evanbrixen: tomorrow i'm doing to do a stats primitive.
03:33:20evanthat will report all kinds of runtime stats
03:33:25brixennice
03:33:29evanhow often method cache's are hit, etc.
03:33:34brixendid you grab the bm code?
03:33:49brixenI was going to try to run it, but still busy with dev'il
03:34:04brixenDevil.convert_from :devalot ;) sounds evil
03:34:24brixenevan: give any more thought to debugger architecture?
03:34:36brixenI'd like to work on that
03:35:56evannow, but we're going very soon
03:36:00evanprobably this week
03:36:07evanbecause we're going to need a profiler soon
03:36:13brixenyeah
03:36:26evansince very soon, slowdowns will be in the ruby code themselves, not in the VM
03:36:44brixenjust took around 13 sec to run the string specs and didn't even kick my cpu fan on
03:36:59brixenthat's way way faster
03:37:00evanbrixen: how long did it take before?
03:37:09brixeneasily 30+
03:37:13brixenprobably more like a minute
03:37:16evanawesome.
03:37:19brixenyep!
03:37:24evanthats exactly the numbers i expected to get
03:37:41brixennow I can be really hardnosed about folks running specs
03:38:02brixenno more checkins from cabo with (please write specs for this) :P
03:38:22evanyeah
03:38:31evani had the feeling that the speed was holding us back.
03:38:53brixen135 specifications, 13 failures
03:38:54brixenreal 0m35.663s
03:38:54brixenuser 0m31.082s
03:38:55brixensys 0m4.077s
03:39:02brixenthat was with compilation
03:39:14brixen135 specifications, 13 failures
03:39:14brixenreal 0m14.242s
03:39:14brixenuser 0m10.704s
03:39:15brixensys 0m3.219s
03:39:28brixen2nd run
03:39:42evansweet.
03:39:48manveruoO
03:39:51brixenyep, very nice
03:39:53manveruw007 :)
03:39:54brixenthanks evan!
03:39:59evanmy pleasure!
03:40:00manveruparties
03:40:12manverudoes it do 64bit yet? :)
03:40:17manveru*poke*poke*
03:40:23brixenheh
03:40:23evani think rue said it was working
03:40:37evani promise this week i'll spend some time on 64bit.
03:40:38manveruaye, will try it later today :)
04:36:00lele enters the room.
04:45:37coates leaves the room.
06:11:13srbaker_ enters the room.
06:11:41srbaker_ leaves the room.
06:11:49srbaker_ enters the room.
06:12:03srbaker leaves the room.
06:12:56srbaker_ leaves the room.
06:13:02srbaker enters the room.
06:44:46chris2 enters the room.
07:16:24rue enters the room.
07:18:49hanklords enters the room.
07:26:08headius enters the room.
07:26:17nemerle_ leaves the room.
07:40:32jadams enters the room.
07:49:53one leaves the room.
07:49:56one__ enters the room.
07:55:30chris2 leaves the room.
08:18:10nicksieger enters the room.
08:39:06headius leaves the room.
08:47:10novaburst enters the room.
08:49:12jadams leaves the room.
08:49:24hanklords leaves the room.
08:58:12olabini leaves the room.
08:58:13mapar leaves the room.
08:58:13novaburst leaves the room.
08:58:13dormando leaves the room.
08:58:14Spakman leaves the room.
08:58:14blink leaves the room.
08:58:15manveru leaves the room.
08:58:16cabo_ leaves the room.
08:58:16dennis- leaves the room.
08:58:16ko1_away leaves the room.
08:58:16lele leaves the room.
08:58:16hachiya leaves the room.
08:58:16blong leaves the room.
08:58:16tesmako leaves the room.
08:58:17boyscout leaves the room.
08:58:17brixen leaves the room.
08:58:17one__ leaves the room.
08:58:17evan leaves the room.
08:58:17Norgg leaves the room.
08:58:17taf2 leaves the room.
08:58:17nemerle leaves the room.
08:58:18phil_ leaves the room.
08:58:18tewk leaves the room.
08:58:18scoopr leaves the room.
08:58:18pinupgeek_ leaves the room.
08:58:18mitsuhiko leaves the room.
08:58:19loop leaves the room.
08:58:46brixen enters the room.
08:58:46novaburst enters the room.
08:58:46dormando enters the room.
08:58:46boyscout enters the room.
08:58:46blong enters the room.
08:58:46tesmako enters the room.
08:58:46hachiya enters the room.
08:58:46lele enters the room.
08:58:46olabini enters the room.
08:58:46blink enters the room.
08:58:46manveru enters the room.
08:58:47Spakman enters the room.
08:58:47mapar enters the room.
08:58:47dennis- enters the room.
08:58:47cabo_ enters the room.
08:58:47ko1_away enters the room.
08:58:57one__ enters the room.
08:58:57evan enters the room.
08:58:58Norgg enters the room.
08:58:58taf2 enters the room.
08:58:58nemerle enters the room.
08:58:58phil_ enters the room.
08:58:58scoopr enters the room.
08:58:58tewk enters the room.
08:59:03pinupgeek_ enters the room.
08:59:03mitsuhiko enters the room.
08:59:03loop enters the room.
09:03:05hanklords enters the room.
09:13:34hornbeck enters the room.
09:25:12laneuis enters the room.
09:49:53jadams enters the room.
09:49:57zedas enters the room.
09:59:58olabini leaves the room.
10:11:13coates enters the room.
10:30:22pate enters the room.
10:30:43skaar enters the room.
10:34:00patehiya skaar
10:41:59skaarhi pate, what's up?
10:43:30patenot too much ... just getting into work and settling in for the day.
10:43:36patehow about you?
10:45:25skaarpretty much the same, more work than ruby, but then again, it's been like that for a while now
10:48:47hanklords leaves the room.
10:49:24hanklords enters the room.
11:10:56jadams_ enters the room.
11:14:56jadams leaves the room.
11:17:06jadams_ leaves the room.
11:18:36jadams enters the room.
11:25:54rpm enters the room.
11:27:01olabini enters the room.
11:27:52headius enters the room.
11:35:37nicksieger_ enters the room.
11:37:10patehiya olabini, headius, and nicksieger -- it's starting to look a lot like #jruby here.
11:37:40nicksiegerhi pate
11:38:32olabiniHi pate.
11:38:34olabini=)
11:39:46headiusyo
11:39:52headiuswe're infecting the world
11:41:33nicksieger leaves the room.
11:45:16chris2 enters the room.
11:47:05patehiya chris2
11:47:17chris2hi pate
11:47:31chris2i got the books saturday, thanks again :-)
11:48:09pategreat! I'm glad you got them.
12:00:02jadams leaves the room.
12:00:21jadams enters the room.
12:21:54ssmoot enters the room.
12:22:52nemerle leaves the room.
12:23:53scooprmhm, the thing about moderated newsgroups is that I can't reply to myself of more findings until someone moderates my post x)
12:23:59scoopror mailinglist
12:36:17brixenscoopr: is that google groups?
12:36:19brixenlooks
12:40:23headiuskicks dust on the rubinius developers
12:41:09evanouch!
12:41:15evanwhy'd you do that?
12:41:16headiusyeah that's right
12:41:26headiusgonna start some shit, it's good for headlines
12:41:41headiuswe've got a release in a week, an implementers' brawl would pump it up
12:41:55evanhah
12:42:16evanwell, last night i got rubinius surpassing MRI speed wise in a benchmark
12:42:38evanthat benchmark was running the rubinius compiler too
12:43:15headiusawesome, what was the magic elixir?
12:43:26evanso a real world benchmark
12:43:30evannot some silly math theory one.
12:43:30evanSO WATCH OUT!
12:43:35evanand with that, i'm off to work.
12:43:40headiusthose damn shootouts make you want to work on perf, don't they
12:43:42headiusit's hard to stay the course on compatibility when people post stuff like that
12:44:35evanyeah
12:44:35evanthe magic elixer was adding -O2, and tuning gcc so it actually inline'd the code we wanted it to
12:44:37evanoh, that and adding a method selector cache
12:44:38evansame one MRI has
12:44:41evanfor now.
12:45:38evanok, bbiab.
12:46:52olabini leaves the room.
12:48:40olabini enters the room.
12:53:18brixenscoopr: I posted your message, not sure why google groups decided to moderate it
12:53:41brixenscoopr: send from your registered email address, and if you still get moderated, let me know
13:01:08lopex enters the room.
13:01:50jadams leaves the room.
13:12:09headiussorry, stepped away
13:12:24headiusnice, good progress evan
13:14:09patebrixen, thanks for the answers for the next interview round
13:14:24brixenpate: sure :) sorry it took a while
13:14:40brixenpate: kinda punted on a couple, but we'll see what everyone else has to say ;)
13:16:06patebrixen, punting is okay on occasion
13:16:20pateand now we'll hope that Defiler and Evan kick in some answers
13:17:09brixenpate: sure, and I'll post what I think about mop as soon as I learn about it :P
13:17:29patecool.
13:17:51brixenbbl...
13:19:52hornbeckok, I posted a tutorial to the mailing list
13:20:07hornbeckif everyone could read through it before I post it online, and maybe flush out some bugs
13:20:35hornbecklike why after installing libglib2.0-dev and libglib2.0-0 the Rubinius install still cannot find glib
13:20:41hornbeckany ideas?
13:21:06patenice job hornbeck
13:21:30hornbeckwe should really do a Rubinius book
13:21:38hornbeckI know it has been talked about
13:21:54hornbeckI have done stuff for Apress and I know you do stuff for a publisher right
13:22:06pateseveral, including Apress
13:22:30pateat this point, the mainstream publishers are telling me it's too early
13:22:39hornbeckahhh
13:22:48hornbeckwell, if I could be involved, I would love to help
13:22:52hornbeckwhen the time comes
13:28:28novabursteven though i'm subscribed to the mailing list, i do not receive e-mail from it. i've been checking google groups to keep up, but i'm not sure why i'm not receiving. i'm subscribed to other ml's using mailman
13:32:15patenovaburst, have you checked your subscription type?
13:35:57novaburstpate, yes, but i'll check again
13:36:03headiuspate: your graph should perhaps be "completeness of core interpreter"
13:36:15headiuswe're worlds beyond ruby.net as far as core classes and runtime
13:37:34pateheadius, good point ...
13:37:59pateit's really just ability to run the tests
13:38:03headiusyeah
13:38:08pateI should probably redraw the graph
13:40:06novaburstpate, e-mail delivery is enabled, set to plain text and digest mode is off
13:41:34pateand you're subscribed to the googlegroups list, not the old mailman one?
13:42:05novaburstohhhh, i bet thats it
13:42:19novabursti see whats happening now, thanks for the tip
13:56:11hornbeckbe back in a bit
13:56:15hornbeck leaves the room.
13:59:33headius leaves the room.
14:34:26hanklords leaves the room.
14:36:32evantewk: you around?
14:38:57tewkI'm a little busy, but feel free to ask questions and I'll backlog this evening 5:00 MST.
14:39:21evantewk: I was just curious if you could talk a little about the parrot MOP
14:39:39evani'll be around tonight, so we can talk about it then.
14:40:18tewkIts in its very early stages but I'd love to chat about it tonight.
14:40:24evancool.
14:40:33evanis it like the perl6 one?
14:40:42evani know audrey has talked about it before.
14:40:47evani can go check it out if so.
14:41:28tewkIt is based off of Class::MOP on cpan which is based on Common Lisps Object System which uses a Meta-Object Protocol
14:41:45evanok, i'll go check those out
14:41:49evanand we can talk later.
14:42:15tewkhttp://www.amazon.com/Art-Metaobject-Protocol-Gregor-Kiczales/dp/0262610744
14:44:56mapar leaves the room.
14:46:18mapar enters the room.
14:52:34loopheya
14:53:13coates_ enters the room.
15:45:22laneuis leaves the room.
15:45:25laneuis enters the room.
15:51:06novaburstpate: nice tumblelog
15:53:24patethanks
16:08:33evanwooo!
16:08:37evan1.586!
16:08:56hornbeck enters the room.
16:10:38lopexis this some benchmark time ?
16:10:55evanyeah, thats how many seconds it takes rubinius to compile sirb.rb
16:11:08evanfor reference, it takes MRI 2.5 seconds
16:11:19lopexwow
16:11:38loop\o/
16:11:51evani just finished optimization stack manipulation
16:12:14evanby storing a pointer to the bottom of the stack and just manipulating that one pointer to move around the stack
16:13:21lopexlike queue cheating
16:13:33lopex;)
16:13:47srbaker leaves the room.
16:13:54evanpretty much.
16:15:40evanbefore, i just had a pointer to the stack and then an integer that point to the current bottom
16:19:35evanplus, i've moved how the stack is allocated
16:19:41evanwhich is going to speed things up too.
16:21:02boyscoutevan * [799] /rubinius/trunk/shotgun/lib (10 files) More speed improvements. Created cpu->sp_ptr that points to the bottom of the stack, and it's manipulated to push and pop from the stack. Also, the stack is no longer just a big tuple, it's in external memory and is collected specificly. This makes it quite a bit faster.
16:21:32pate leaves the room.
16:22:21loopevan, hey, can i get a commit bit. i've submitted a few patches to the mailing list but that's pretty cumbersome
16:23:12evanand those patches were commited?
16:23:22loopyup
16:23:56evansure then.
16:24:09evanwant loop as the username?
16:26:32loopthat's fine
16:26:59evancheck your private messages
16:32:34kentaur enters the room.
16:35:36pate enters the room.
16:37:30hanklords enters the room.
16:40:48srbaker enters the room.
16:41:37srbaker leaves the room.
16:59:01pate leaves the room.
17:01:52laneuis leaves the room.
17:02:13novaburst leaves the room.
17:03:22evanwoo!
17:03:33evanup to 42.8% of the time spent in cpu_run
17:03:42evanhighest percentage yet.
17:03:44kentaur leaves the room.
17:04:07evanyikes though!
17:04:20evanthe binary size has leaped up to 3M
17:04:54laneuis enters the room.
17:06:34hornbeckevan: do you work anywhere?
17:06:48evanyeah, i'm at work now.
17:06:54hornbeckok
17:06:55evannot actually doing much work work though
17:06:57evan:D
17:07:12evanbut my current work wants to use rubinius
17:07:15evanso i can justify it.
17:07:17hornbecknice
17:08:05onehalf the developers on the planet want to use rubinius ;)
17:08:20evanand the other half haven't heard of it yet!
17:11:31bricolage enters the room.
17:15:50ssmootevan: Is the inline method cache Avi Bryant was talking about wrt: Stronghold ever added to Rubinius?
17:16:07evanit will be added, yes.
17:16:08ssmootjust curious
17:16:09evanit's not currently.
17:16:38evani might have already done it had the strongtalk code not made my eyes burn
17:17:31ssmootthanks. like I said, just curious. half the time I think I know what he was talking about, and the other half I just don't conceptually get it at all. :) It's a JMP->CMP, but compare against what? The Type?
17:17:42evanyeah
17:17:46evanthe class
17:18:15evanyou make a send be a jump to the common body, then a cmp to make sure the class of method you're in is the class of the receiver
17:18:18evanif so, you just continue
17:18:24evanif not, you go down the slow path.
17:18:25ssmootwhat about instances with modified singleton/eigenclasses? do you just have a bunch of anonymous types floating out there for comparison then?
17:18:41evanyou compare against the metaclass
17:19:15ssmootoh well, thanks, but I think it's going over my head again. :)
17:25:40boyscoutevan * [800] /rubinius/trunk/shotgun/lib (4 files) Rearranged some core functions for calling and returning from a method so that they are properly inline'd.
17:27:11jadams enters the room.
17:29:51kentaur enters the room.
17:42:39chris2 leaves the room.
17:50:36hurdlea enters the room.
17:56:08skaar leaves the room.
17:56:36evanwow.
17:56:44evanperl 6 code is so fucked.
18:03:31hornbeckevan: why is that?
18:03:47evanthey've made stuff so complicated.
18:04:02evani understand that they want to push stuff forward
18:04:06evanbreak the mold, etc.
18:04:08evanbut it's crazy.
18:04:58hornbeckahh, is there an article you are reading? Or code itself?
18:05:14evanthe code itself.
18:05:18hornbeckahh
18:05:23evani was curious about how they did something, so i was at the sit
18:05:24evane
18:05:27evanand thought i'd look at some code again.
18:18:24brixenhmm, I notice a trend here: strongtalk - incomprehensible, pypy - complicated as hell, perl 6 - "so fucked"
18:19:14brixenlet's hope rubinius stands its ground against incomprehensibly complicated code
18:19:59srbaker enters the room.
18:21:47evanyeah
18:21:48evani hope so.
18:22:56brixenevan: so, atm mri runs string_spec at about 0.3 sec and rubinius 14.2 sec after compiling
18:23:26evanwow.
18:23:27evanhuh.
18:23:28evanok.
18:23:36evanso something else is quite slow still
18:23:42evanit could be the string methods themselves
18:23:44brixenyeah, I kept running thinking I was missing something
18:23:50brixenyeah, my thought too
18:24:07brixenk, well we'll get the profiling and debugging in the vm
18:24:45brixenwish I already knew everything I needed to start working on it :P
18:24:51lopexdo you use COW in Strings ?
18:25:01evannot currently.
18:25:03brixenlopex: not yet
18:25:06brixenheh
18:25:18brixenlopex: I'll let evan answer your questions :)
18:25:25lopexthe Hash access is much dependant on that
18:25:30lopexthe string is a key
18:25:41lopexs/the/when/
18:26:36evanwell, the hash value for a string is cached
18:26:42evani'm not sure it actually is right now
18:26:52evanbut every object has a place to store it's hash value.
18:27:05lopexMRI just dups the char* pointer
18:27:13evanyeah
18:28:02lopexand notably String#replace and String[]
18:28:13lopexon ranges
18:29:18lopexbtw, do you have your own hashing algorithms ?
18:29:40evanit's call FNV
18:29:47evanit's one I found
18:30:01evanquite fast and good.
18:30:16lopexah, ok
18:34:15hornbeck leaves the room.
18:44:46hanklords leaves the room.
18:46:02kentaur leaves the room.
18:57:47pate enters the room.
19:01:19lopex leaves the room.
19:06:37novaburst enters the room.
19:14:21coates leaves the room.
19:25:31lele leaves the room.
19:27:59FernandoAllen enters the room.
19:30:03FernandoAllen leaves the room.
19:30:44jadams leaves the room.
19:32:14FernandoAllen enters the room.
19:32:25bricolage leaves the room.
19:33:57srbaker leaves the room.
19:37:40srbaker enters the room.
19:46:07laneuis leaves the room.
20:08:50ssmoot leaves the room.
20:11:29skaar enters the room.
20:16:28FernandoAllen leaves the room.
21:08:56zedas leaves the room.
21:12:55srbaker leaves the room.
21:20:15srbaker enters the room.
21:21:02srbaker leaves the room.
21:37:26zedas enters the room.
22:10:54skaar leaves the room.
22:14:05srbaker enters the room.
22:20:03novaburst leaves the room.
22:31:12ssmoot enters the room.
22:35:23skaar enters the room.
22:44:50ssmoot leaves the room.
22:46:27srbaker leaves the room.
22:51:08hurdlea leaves the room.
22:55:51hurdlea enters the room.
23:01:44headius enters the room.
23:18:57headius leaves the room.
23:25:31hornbeck enters the room.
23:38:35headius enters the room.
23:55:02headius leaves the room.