Show enters and exits. Hide enters and exits.
| 00:05:10 | Zoxc | brixen, do you still use shell scripts? |
| 00:05:52 | brixen | we use config.guess iirc |
| 00:05:58 | brixen | but that can be special cased |
| 00:06:10 | Zoxc | makefiles or some custom thing? |
| 00:06:17 | brixen | the only requirement to build on windows will be a working MRI |
| 00:06:34 | brixen | we don't use makefiles but some of the external libs do |
| 00:07:08 | Zoxc | do you depend on shebangs? |
| 00:07:13 | brixen | we've been slowly building out our build system to be pure ruby |
| 00:07:22 | brixen | I haven't gotten to the external libs yet |
| 00:07:45 | brixen | whatever we depend on that doesn't work on windows will be changed or special-cased |
| 00:07:51 | brixen | that's the short answer |
| 00:07:58 | brixen | the long answer is "try it" |
| 00:23:19 | brixen | man I really don't think all this special-casing for string interpolation is worth it |
| 00:23:28 | brixen | for some stupid edge cases |
| 00:23:51 | brixen | if ppl write "#{}" and it runs slow, tough shit |
| 00:24:05 | yakischloba | :( |
| 00:24:16 | brixen | srsly |
| 00:24:21 | brixen | why should we worry about that |
| 00:24:25 | brixen | or "#{foo}! |
| 00:24:33 | brixen | er "#{foo}" |
| 00:24:47 | yakischloba | what special casing are you talking about? |
| 00:24:52 | brixen | if you can see that foo.to_s makes sense there, fuck that |
| 00:24:59 | brixen | you == programmer |
| 00:25:27 | brixen | "#{foo}" turns into essentially "" << foo.to_s |
| 00:25:35 | yakischloba | yea |
| 00:26:02 | brixen | but evan's on vaca and wrote this compiler output |
| 00:26:08 | brixen | not sure I want to veto it :) |
| 00:26:33 | brixen | it's shitnest of logic though |
| 00:27:00 | yakischloba | oh. well evan is always about protecting people from themselves heh. |
| 00:27:00 | brixen | for "#{}", "#{foo}", "a #{}", "#{} a" ... |
| 00:27:08 | Zoxc | "#{foo}" is always a string isn't it? |
| 00:27:15 | brixen | yes |
| 00:27:26 | brixen | it's exactly the same as foo.to_s |
| 00:27:36 | mistergibson | only slower? |
| 00:27:37 | Zoxc | to_s may not return a string? |
| 00:27:40 | brixen | it calls #to_s on foo to construct the string |
| 00:27:54 | brixen | Zoxc: yeah, I know |
| 00:28:00 | brixen | I say fuck those ppl |
| 00:28:09 | mistergibson | that's the spirit |
| 00:28:21 | brixen | Zoxc: how else are we supposed to get a string? |
| 00:28:24 | Zoxc | I always use #{} because it can be faster =P |
| 00:28:32 | brixen | why would it be faster? |
| 00:28:37 | brixen | how how how? |
| 00:28:37 | Zoxc | but I'm not sure what you're talking about there |
| 00:28:41 | yakischloba | hah |
| 00:28:55 | brixen | I'm talking about this literal "#{foo}! |
| 00:28:58 | brixen | fuck |
| 00:28:59 | yakischloba | yea its like to_s except requires processing of the original string to figure out what the programmer wanted |
| 00:29:00 | brixen | " not ! |
| 00:29:16 | Zoxc | he added some optimization for it? |
| 00:29:20 | brixen | yes |
| 00:29:31 | botanicus | brixen:I'm not getting what's the trouble? |
| 00:29:39 | brixen | and it missed an edge case |
| 00:29:40 | brixen | get this |
| 00:29:46 | brixen | "#{foo}" |
| 00:29:48 | brixen | :) |
| 00:29:59 | yakischloba | heh |
| 00:30:05 | brixen | botanicus_: huh? |
| 00:30:42 | botanicus | brixen: what's the trouble with interpolation? I mean interpolation's fine, isn't it? Better than 'str' + ' str' |
| 00:30:59 | brixen | I'm not talking about interp in general |
| 00:31:03 | brixen | where did I say that? |
| 00:31:18 | brixen | "#{foo}" being used in place of foo.to_s |
| 00:31:22 | brixen | or "#{}" |
| 00:31:25 | brixen | literally! |
| 00:32:12 | brixen | botanicus_: and "{foo}#{foo}" is the same as foo.to_s + foo.to_s |
| 00:32:26 | brixen | how do you think interp works? magically? |
| 00:32:56 | Zoxc | well it always returns a string and tends to be faster :) |
| 00:33:04 | brixen | Zoxc: show me the benches |
| 00:33:11 | brixen | what's this tends to be faster bs? |
| 00:33:18 | brixen | faster on what? |
| 00:33:29 | Zoxc | you can preallocate the whole string |
| 00:33:51 | brixen | you can build the whole string in a prealloc'd buffer, yes |
| 00:34:02 | brixen | that's what the string_build insn does |
| 00:34:15 | brixen | the *compiler* though has special cases to not pass "" to the insn |
| 00:34:23 | brixen | and those special cases add up to a nest of code |
| 00:34:31 | yakischloba | can rbx not do that with str + str1 + 'foo' + str2 or some such? |
| 00:34:44 | brixen | hence my original statement: optimizing for "#{foo}" is BS to me |
| 00:35:11 | Zoxc | Isn't removing the "" parameters to the string_build thing pretty easy? |
| 00:35:18 | brixen | oh god |
| 00:35:24 | brixen | go home everyone, it's xmas |
| 00:35:27 | yakischloba | hahahaha |
| 00:35:32 | Zoxc | I'm home ;D |
| 00:35:32 | mistergibson | hehe |
| 00:35:36 | mistergibson | I am home |
| 00:35:44 | brixen | I am home too! |
| 00:35:50 | Zoxc | splendid |
| 00:35:51 | brixen | holy shit, that's the problem :D |
| 00:36:04 | mistergibson | home, or office, or jumping jack spot? |
| 00:36:11 | mistergibson | hard to tell at some point |
| 00:39:43 | botanicus | BTW how is it going with 1.9 support in Rubinius? I *really* love to use rubinius, but I need 1.9 |
| 00:40:09 | brixen | botanicus_: we have a one_nine branch that has most of the core lib methods done |
| 00:40:22 | brixen | we need to port the parser changes |
| 00:40:27 | botanicus | brixen: I know about it, but what about syntax? |
| 00:40:30 | botanicus | I see, yeah |
| 00:40:35 | brixen | shouldn't be hard |
| 00:40:43 | brixen | just not a priority pre 1.0 final |
| 00:40:50 | botanicus | :/ |
| 00:41:15 | botanicus | I don't get why's everyone ignoring 1.9. It's a year since 1.9.1 was released. |
| 00:41:17 | brixen | just don't use 1.9 syntax ;) |
| 00:41:27 | brixen | yeah, 1.9.1 is amazing |
| 00:41:30 | brixen | so stable |
| 00:41:33 | brixen | and everything |
| 00:41:51 | Zoxc | syntax is the reason to use 1.9 =P |
| 00:42:02 | brixen | talk to Defiler about how often 1.9 segfaults on him |
| 00:42:13 | botanicus | brixen: I'm using 1.9 syntax, i.e. the hash syntax is better with key: "value" |
| 00:42:16 | brixen | Zoxc: what's so special about 1.9 syntax? |
| 00:42:28 | brixen | it's superficial at best |
| 00:42:42 | botanicus | brixen: OK, the stability isn't great, but it's fast and it has many improvements |
| 00:42:57 | brixen | improvements in? |
| 00:43:05 | brixen | only reason I'd use 1.9 right now is m17n |
| 00:43:12 | brixen | the syntax is meh |
| 00:43:17 | Zoxc | well I like the block locals and parameters |
| 00:43:18 | brixen | the methods are mostly in 1.8.7 |
| 00:43:46 | brixen | parameters are mostly fluf |
| 00:43:55 | brixen | block locals? mm same |
| 00:44:19 | brixen | how did we ever write ruby apps before 1.9 zomg?? |
| 00:44:20 | botanicus | brixen: better scoping approach, same args parsing for procs as for methods, Method#parameters (OK, it's 1.9.2, but hey) ... etc ... IMHO really many improvements. |
| 00:44:21 | Zoxc | I find 1.8's way of doing stuff insane and inefficent :/ |
| 00:44:31 | Zoxc | I didn't write ruby apps before 1.9 :D |
| 00:44:48 | brixen | botanicus_: what is better about scoping? |
| 00:45:01 | Zoxc | you get block locals |
| 00:45:20 | Zoxc | (thread safety! :D) |
| 00:45:25 | brixen | huh? |
| 00:45:45 | brixen | you guys are justifying it to yourselves, not me :) |
| 00:45:57 | brixen | speed and m17n, I'll agree on |
| 00:46:05 | brixen | the rest is mostly superfluous |
| 00:46:12 | brixen | but we'll implement it eventually |
| 00:47:16 | botanicus | brixen: I haven't use 1.8 for ages honestly so I don't remember the exact case, but I'm sure there is more reasonable approach to (not) introducing new scope after some keywords. |
| 00:47:27 | botanicus | But can't remember, I'm just use to 1.9 now. |
| 00:47:30 | brixen | heh |
| 00:48:10 | botanicus | instance_exec is also handy |
| 00:48:18 | brixen | we have that |
| 00:48:42 | botanicus | Yep, but it's not standard in 1.8 AFAIK |
| 00:48:56 | brixen | there's been a patch for 1.8 forever though |
| 00:49:07 | brixen | ppl have been using that for what 4 years? |
| 00:49:07 | botanicus | Anyway are there any recent BMs of Rubinius vs. other implementations? |
| 00:49:16 | yakischloba | yea that was a rael blocker for me |
| 00:49:32 | brixen | botanicus_: you can check out evan's rubyconf talk |
| 00:49:48 | brixen | he's got a framework he's working on for reasonable bench comparisons |
| 00:51:42 | botanicus | Hmm I can find just http://rubyconf.org/talks/21-rubinius-in-one-act-or-rubinius-a-war-on-two-fronts |
| 00:51:53 | botanicus | But no videos or so :/ |
| 00:52:17 | brixen | no video yet |
| 00:52:24 | brixen | it'll be on confreaks site |
| 00:52:42 | brixen | I think they had to redo a bunch of the videos |
| 00:52:48 | brixen | because of sync issues |
| 00:57:20 | yakischloba | is llvm enabled by default now? |
| 00:57:25 | brixen | yes |
| 00:57:29 | brixen | in master |
| 00:57:32 | yakischloba | ok cool. |
| 00:57:33 | brixen | not in rc1 tarball |
| 00:57:39 | yakischloba | k |
| 00:59:15 | mistergibson | I thought it was pretty spiffy how it pulled the latest during clone/build |
| 00:59:54 | mistergibson | I'm so used to gnu autoblek stuff |
| 01:02:55 | mistergibson | anyone work with llvm group's clang much? |
| 01:04:24 | mistergibson | I rather like the idea |
| 01:05:30 | brixen | clang is an awesome idea |
| 01:05:35 | brixen | did you see the post? |
| 01:05:42 | brixen | clang compiles llvm and clang now |
| 01:06:02 | brixen | http://blog.llvm.org/2009/12/clang-builds-llvm.html |
| 01:06:22 | brixen | ok, I've got nokogiri installing |
| 01:07:01 | mistergibson | sweet |
| 01:07:22 | mistergibson | is it pushed? |
| 01:07:34 | brixen | double checking that the compiler test cover these stupid edge cases |
| 01:07:42 | mistergibson | always good :) |
| 01:07:44 | brixen | we had holes before |
| 01:07:49 | brixen | which is how this happened |
| 01:09:39 | brixen | oh look, another edge case |
| 01:10:55 | rue | brixen: Your attitude stops being funny after a while, too. You ought check it. |
| 01:12:15 | brixen | rue: um, go drink some eggnog? |
| 01:12:44 | rue | As I said. |
| 01:13:58 | yakischloba | :/ |
| 01:15:49 | brixen | rue: honestly, I have no idea what you are talking about |
| 01:15:53 | brixen | so STFU |
| 01:15:54 | brixen | hahah |
| 01:16:18 | brixen | le sigh |
| 01:16:30 | brixen | you guys think I'm kidding about these edge cases |
| 01:16:38 | yakischloba | lets see if i can push him over the edge |
| 01:16:46 | yakischloba | brixen: how much faster is rbx than mri? |
| 01:16:49 | brixen | "#{}#{}" is quite different than "#{}" |
| 01:17:00 | yakischloba | :p |
| 01:17:01 | brixen | yakischloba: heh, it depends |
| 01:17:08 | brixen | universal answer :) |
| 01:17:15 | mistergibson | I suppose I can help a bit spotting new ones - I tend to pound and sniff pretty well when I get fixed to do it. |
| 01:17:31 | brixen | mistergibson: almost there |
| 01:17:37 | mistergibson | cool |
| 01:17:42 | brixen | ETA a few minutes/hours |
| 01:17:44 | brixen | :) |
| 01:18:34 | mistergibson | no worries, I'm just sitting around in my robe and funny had indulging myself |
| 01:18:43 | brixen | TMI dude |
| 01:18:44 | mistergibson | err... hat |
| 01:18:45 | brixen | heh |
| 01:18:55 | mistergibson | haha |
| 01:19:02 | brixen | ah me and my shitty 'tude :P |
| 01:19:26 | Zoxc | brixen: evan removed #{} too? |
| 01:19:30 | mistergibson | hrm, which reminds me ... a little butter-rum tottie is in order |
| 01:19:31 | brixen | I think I'll try to merge the specs later, that should bring a smile |
| 01:20:08 | brixen | Zoxc: well, "#{}" -> "" << "", and you wouldn't want to send that to string_build |
| 01:20:21 | brixen | so that becomes push_literal ""; string_dup |
| 01:20:24 | brixen | in insns |
| 01:20:30 | Zoxc | isn't that "" << nil.to_s? |
| 01:20:35 | brixen | no |
| 01:20:37 | brixen | it's not |
| 01:20:54 | brixen | it's "" << "" |
| 01:22:28 | Zoxc | def nil.to_s; "hello" end; "#{}" => "hello" |
| 01:22:53 | brixen | s(:dstr, "", s(:evstr)) |
| 01:23:05 | brixen | is what I get from parse_tree_show |
| 01:23:43 | brixen | great |
| 01:23:49 | wycats | evan, brixen: I have interesting news |
| 01:23:59 | brixen | evan's not here |
| 01:24:02 | wycats | oh well |
| 01:24:04 | wycats | you will like it too |
| 01:24:04 | brixen | heh |
| 01:24:20 | wycats | so Rails has a few performance regressions due to new features |
| 01:24:30 | wycats | namely instrumentation and SafeBuffer |
| 01:24:31 | brixen | in rbx? |
| 01:24:32 | wycats | however... |
| 01:24:36 | wycats | no... in general |
| 01:24:38 | brixen | oh, in rails |
| 01:24:39 | brixen | ok |
| 01:24:39 | wycats | more ruby code == slower |
| 01:24:40 | wycats | right |
| 01:24:42 | wycats | however... |
| 01:24:47 | wycats | the regressions barely hit rbx at all |
| 01:24:53 | wycats | with the new features, rbx is faster than 1.9 |
| 01:24:54 | brixen | sweet! |
| 01:25:02 | brixen | that's awesome |
| 01:25:09 | brixen | who was asking about benchmarks? :) |
| 01:25:12 | rue | Sabotaging libraries is always a good way to leapfrog. |
| 01:25:15 | wycats | (1.9.2 appears to have a performance regression in general, so I'm comparing 1.9.1) |
| 01:25:24 | wycats | brixen: I'm doing a perf post |
| 01:25:28 | wycats | rue: the features are useful |
| 01:25:30 | brixen | cool |
| 01:25:35 | wycats | the SafeBuffer one is actually crucial |
| 01:25:38 | rue | brixen: I just do not need to hear bitching about not pursuing something after expressly being told not to |
| 01:26:19 | rue | wycats: Yeah, I saw those in some blog post or another. But I think the strategy is sound ;) |
| 01:26:21 | brixen | Zoxc: look what you did! I can't exit irb now http://gist.github.com/263453 |
| 01:26:55 | brixen | rue: are you talking about mkmf? |
| 01:27:02 | brixen | that was like 8 hrs ago |
| 01:27:05 | Zoxc | no errors in my irb =P |
| 01:27:09 | brixen | give me some context next time |
| 01:27:11 | wycats | rue: instrumentation is nice too |
| 01:27:15 | wycats | basically free is rbx |
| 01:27:18 | brixen | Zoxc: are you in 1.9? |
| 01:27:19 | wycats | expensive in MRI |
| 01:27:28 | Zoxc | tested in 1.8 and 1.9 |
| 01:27:59 | brixen | Zoxc: haha, seriously, I can't ^D to exit |
| 01:28:08 | brixen | I had to type 'exit' |
| 01:28:08 | wycats | brixen: testing jruby now |
| 01:28:14 | brixen | wycats: cool |
| 01:28:42 | wycats | they beat both 1.9 and rbx |
| 01:28:45 | wycats | by a bit |
| 01:28:58 | rue | Hm, actually no...this instrumentation is some third-party thing |
| 01:29:04 | wycats | rue: ? |
| 01:29:20 | rue | wycats: You have a blog post, changeset or very brief summary of the instrumentation features? |
| 01:29:41 | rue | I recalled a post, but it was something external |
| 01:29:41 | wycats | I can show you the code ;) |
| 01:29:46 | rue | Ha |
| 01:29:50 | wycats | tbh it would be worth looking at what we're doing with SafeBuffer and either offering us suggestions or looking at what you guys can do about it |
| 01:30:25 | wycats | rue: http://github.com/rails/rails/blob/master/activesupport/lib/active_support/notifications.rb |
| 01:30:37 | wycats | http://github.com/rails/rails/blob/master/activesupport/lib/active_support/notifications/fanout.rb |
| 01:30:42 | wycats | http://github.com/rails/rails/blob/master/activesupport/lib/active_support/notifications/instrumen ter.rb |
| 01:30:48 | wycats | in total not much code |
| 01:31:01 | brixen | Zoxc: well, I'll have to run this by evan |
| 01:31:15 | brixen | Zoxc: we have a special case for an empty evstr node :/ |
| 01:31:20 | wycats | usage: http://github.com/rails/rails/blob/master/actionpack/lib/action_view/template.rb#L39-42 |
| 01:31:27 | rue | Ta |
| 01:31:36 | brixen | Zoxc: it would be easy to change it back though |
| 01:32:23 | Zoxc | I should remove "" arguments to my string building function :D |
| 01:32:37 | brixen | Zoxc: you should, it's fun! |
| 01:32:51 | Zoxc | probably just to if statements |
| 01:32:52 | rue | I do not recall if the empty evstr and global empty string were benchmarked but I would venture they were |
| 01:32:53 | wycats | brixen: I found a bug in the compiler related to [*foo] |
| 01:32:55 | Zoxc | two* |
| 01:33:14 | wycats | brixen: I'll try to reduce it to a simpler case |
| 01:33:19 | brixen | wycats: ok |
| 01:33:56 | wycats | brixen: is there any way for us to improve the performance of an ivar wrt rbx |
| 01:34:00 | wycats | we're adding an ivar flag to String |
| 01:34:04 | wycats | that gets checked all the fucking time |
| 01:34:21 | brixen | wycats: yes, we have the ability to use literal ivars as fields |
| 01:34:22 | wycats | http://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/string/output_ safety.rb |
| 01:34:30 | wycats | brixen: is there anyway I can hint that to you? |
| 01:34:31 | brixen | packed ivars indexed by offsets |
| 01:34:42 | brixen | you can, but you won't need to |
| 01:34:42 | wycats | or do you just do it? |
| 01:34:44 | brixen | look at Hash |
| 01:34:53 | brixen | it's not generalized yet |
| 01:34:57 | brixen | but it will be soon |
| 01:35:06 | wycats | for instance this method: http://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/string/output_safety.rb#L6-9 should really be essentially free |
| 01:35:20 | brixen | ugh with all the massive links :P |
| 01:35:29 | brixen | can we get a bit.ly bot in here? |
| 01:35:31 | brixen | heh |
| 01:35:39 | wycats | brixen: :/ |
| 01:35:41 | wycats | sorry |
| 01:35:45 | wycats | same with html_safe? |
| 01:35:48 | brixen | yeah |
| 01:35:50 | wycats | :emo: that we have to do defined? |
| 01:35:58 | wycats | it's because or stupid warnings |
| 01:36:11 | brixen | those will automatically be packed |
| 01:36:28 | brixen | well, they are packed when the first instance of a class is created |
| 01:36:50 | wycats | the whole html_safe? business should basically jit down into something super-simple and stupid |
| 01:36:59 | brixen | so, on String, not so easy |
| 01:37:03 | wycats | because it essentially is just flags and flag-checking |
| 01:37:05 | wycats | :/ |
| 01:37:05 | wycats | yeah |
| 01:37:12 | wycats | cuz you already initialized string |
| 01:37:19 | wycats | (for sure) |
| 01:37:35 | wycats | ? |
| 01:38:02 | brixen | the size would be finalized for the class when the first instance is created |
| 01:38:04 | wycats | something like http://bit.ly/8vXXDu is taking up like 10% of total template rendering time now |
| 01:38:08 | wycats | right :/ |
| 01:38:33 | wycats | (hopefully the bit.ly will make you happy ;) ) |
| 01:38:39 | brixen | hehe |
| 01:38:49 | brixen | depends if you're gonna post 50 more links |
| 01:39:11 | brixen | makes it hard to follow convos in the terminal |
| 01:39:14 | wycats | agreed |
| 01:39:17 | brixen | wycats: you use ichat? |
| 01:39:22 | brixen | adium? |
| 01:39:24 | wycats | brixen: adium |
| 01:39:29 | brixen | ah ok |
| 01:39:36 | wycats | ykatz@engineyard.com and wycats@gmail.com |
| 01:40:03 | mistergibson | wish there was an adium port for linux, pidgin just doesn't quit cut it sometimes |
| 01:40:11 | brixen | wycats: I was just assuming you were using a windowing app for IRC |
| 01:40:11 | wycats | :/ |
| 01:40:33 | wycats | brixen: currently am but I don't always |
| 01:40:38 | wycats | so I understand your pain |
| 01:41:48 | wycats | this doesn't seem like the fastest way to do this: s.to_s.gsub(/&/, "&").gsub(/\"/, """).gsub(/>/, ">").gsub(/</, "<") |
| 01:41:52 | wycats | comes from ERB |
| 01:41:57 | wycats | for one thing... why not gsub! |
| 01:42:04 | wycats | (not sure if that helps rbx) |
| 01:42:19 | rue | Was it tested only flagging explicitly safe strings? |
| 01:43:02 | rue | You only need to check in limited cases since unsafety is contagious |
| 01:43:28 | wycats | rue: correct |
| 01:43:38 | wycats | rue: every string is considered unsafe |
| 01:43:47 | wycats | as is a combination of a safe and unsafe string |
| 01:45:57 | rue | Right, yeah, without much overhead there is not much room for improvement |
| 01:46:25 | wycats | rue: since the operation is so common I was thinking about manually inlining some of this |
| 01:46:42 | wycats | like... not bother with also_html_safe? |
| 01:47:20 | rue | Well, you could just take the result of the two without checking |
| 01:47:31 | wycats | yep |
| 01:47:35 | wycats | and set the ivars manually |
| 01:47:41 | wycats | it seems like a bunch of overhead for no obvious reason |
| 01:47:44 | rue | Right.. |
| 01:48:17 | wycats | http://gist.github.com/263459 |
| 01:48:39 | wycats | obviously returning result |
| 01:48:54 | rue | "Extra" ivar access is still going to be slower for rbx than is working with the slots when it comes down to that |
| 01:48:59 | wycats | tbh: http://gist.github.com/263459 |
| 01:49:11 | wycats | rue: rbx is going to need to be able to handle this case |
| 01:49:45 | wycats | brixen: getting: dlopen(/Users/wycats/Code/active/rubinius/lib/ext/melbourne/ruby/melbourne.bundle, 9): no suitable image found. |
| 01:49:55 | rue | It can *handle* it, sure |
| 01:50:08 | wycats | rue: I mean |
| 01:50:14 | wycats | rbx should be able to handle this case via slots |
| 01:50:46 | rue | You could also dispense with the defined? check |
| 01:50:56 | wycats | rue: 1.9 prints a warning if we do that |
| 01:51:05 | wycats | megafail |
| 01:52:00 | rue | That is tricky to do with live String objects without reserving slots which then increases memory usage somewhat |
| 01:52:07 | rue | Need to initialize it |
| 01:52:18 | rue | Dunno if that actually results in a perf gain, though. |
| 01:52:33 | brixen | wycats: you are getting that doing what? |
| 01:52:41 | brixen | I have no idea what platform, etc |
| 01:52:48 | wycats | brixen: I fixed it by switching to 1.8.7p174 |
| 01:52:53 | wycats | was on OSX system ruby |
| 01:53:59 | brixen | ok |
| 01:54:09 | brixen | I've got SL here to install on my other lappy |
| 01:57:33 | wycats | hehe |
| 01:57:48 | wycats | I was able to slightly improve the perf of that gsub thing by doing each_byte and case |
| 01:58:04 | wycats | http://gist.github.com/263461 |
| 01:58:59 | wycats | much slower in 1.8 of course |
| 01:59:35 | wycats | slower on jruby as well, presumably because they have a fast gsub |
| 02:05:49 | wycats | yah... jruby has super-fast gsub |
| 02:08:18 | wycats | sometimes it would be nice to preallocate N slots in Arrays or Strings |
| 02:11:03 | wycats | anyhow, I can easily get better perf than the gsub version on rbx but that's mainly because the gsub version is so slow |
| 02:19:48 | brixen | complications |
| 02:19:54 | brixen | finds food |
| 03:34:06 | slava | happy holidays rubinius hackers |
| 03:34:51 | brixen | you too slava! |
| 03:36:20 | mistergibson | I'm still recovering from Post-Festivus wrestling matches |
| 03:36:24 | brixen | heh |
| 03:39:29 | brixen | mistergibson: I haven't forgotten your burning desire to install nokogiri |
| 03:39:41 | mistergibson | no worries |
| 03:39:44 | brixen | I had to review some related spec failures |
| 03:39:56 | mistergibson | thorough is all good dude |
| 03:40:01 | mistergibson | I can waite |
| 03:40:07 | mistergibson | err... wait |
| 03:40:12 | brixen | string interpolation has some serious tendrils |
| 03:40:18 | mistergibson | I see |
| 03:43:43 | brixen | basically because the AST nodes for /#{a}/ and related dynamic strings all inherit from the node for "#{}" |
| 03:44:22 | mistergibson | is this a feature or a bug? |
| 03:44:31 | brixen | the inheritance? |
| 03:44:44 | mistergibson | being a noob smart ass really |
| 03:44:47 | brixen | heh |
| 03:44:54 | brixen | well, it's neither really |
| 03:45:01 | brixen | just a good way to organize it |
| 03:45:11 | mistergibson | but that leads to the issues you sighted earlier on performance, etc |
| 03:45:19 | mistergibson | ? |
| 03:45:40 | brixen | uh, well the perf opts from using string_build insn relate to these, yes |
| 03:45:55 | brixen | they're all dynamic strings under the covers in a way |
| 03:46:17 | brixen | but this case of "#{a}" or /#{a}/ is very special |
| 03:46:29 | brixen | one sec... |
| 03:46:53 | brixen | here's the deal http://gist.github.com/263493 |
| 03:46:55 | mistergibson | ok |
| 03:47:03 | brixen | the key line is at #2 |
| 03:47:15 | brixen | the comments at the bottom take you through it |
| 03:47:38 | brixen | bascially, the string that 'a' points to was not getting dup'd |
| 03:48:03 | mistergibson | oh |
| 03:48:11 | brixen | so, checking_message modifies it inadvertently by injecting into "#{target}" |
| 03:48:30 | brixen | but only dynamic strings really have this problem |
| 03:48:45 | brixen | because /#{target}/ is going to get passed to Regexp |
| 03:48:55 | brixen | which would use a copy to create the object |
| 03:49:21 | brixen | but since dregx node inherits from dstr, the dregx bytecode will have an extra string_dup insn |
| 03:49:27 | brixen | I think I'm just going to punt on it |
| 03:49:45 | mistergibson | what would be the work around? |
| 03:49:51 | brixen | simplest solution is just toss out the dumb opts for "#{a}" |
| 03:49:59 | mistergibson | k |
| 03:50:03 | brixen | I don't think there's reason for them |
| 03:50:09 | brixen | but I've made them work |
| 03:50:27 | mistergibson | I never really worked with dynamic strings per se |
| 03:50:44 | brixen | I could try to refactor the code for dstr and use a subset in dregx |
| 03:50:45 | mistergibson | as a noob I tend to keep things extremely simple |
| 03:50:58 | brixen | but that's a lot of work for optimizing "#{a}" |
| 03:51:10 | brixen | yeah, simple is usually better |
| 03:51:12 | mistergibson | indeed |
| 04:11:47 | wycats | brixen: http://gist.github.com/263504 |
| 04:16:49 | brixen | i don't know what those #s mean |
| 04:17:22 | brixen | I see jruby has 666 on something |
| 04:17:25 | brixen | figures |
| 04:17:29 | brixen | heh |
| 04:19:44 | wycats | ha |
| 04:20:07 | wycats | http://gist.github.com/263504 |
| 04:20:11 | wycats | brixen: it's microseconds |
| 04:20:28 | brixen | oh ok |
| 04:20:30 | wycats | overhead is the overhead just to get in and out of a controller |
| 04:20:45 | wycats | index is render :text |
| 04:20:54 | wycats | then the rest are self-explanatory |
| 04:20:59 | brixen | basically, you've got R3 smokin' fast |
| 04:21:17 | wycats | r3? |
| 04:21:24 | brixen | rails3 |
| 04:21:31 | wycats | ah yeah |
| 04:21:34 | wycats | especially improved on rbx |
| 04:21:58 | brixen | blast, just rm'd my test script |
| 04:22:01 | brixen | bleh |
| 04:22:21 | wycats | :( |
| 04:22:28 | wycats | brixen: I think the Rails 3 code is just better |
| 04:22:31 | wycats | rbx likes good code ;) |
| 04:22:50 | brixen | indeed |
| 04:22:55 | brixen | on both accounts |
| 04:22:56 | wycats | but also, it isn't as unhappy with some new features we added |
| 04:23:03 | wycats | like instrumentation |
| 04:23:09 | wycats | which eats away at some of the gains |
| 04:35:40 | wycats | brixen: is there an equiv. to .at(n) in Array for []= |
| 04:39:19 | brixen | #set_index |
| 04:39:23 | brixen | you mean in rbx, right? |
| 04:40:08 | slava | wow, clang is almost able to compile itself |
| 04:40:14 | brixen | slava: yeah! |
| 04:40:18 | mistergibson | pretty cool huh |
| 04:40:18 | brixen | sweet huh |
| 04:40:35 | mistergibson | I'd like to see how it does with ObjC |
| 04:40:35 | slava | yeah, its a major milestone for a C++ compiler |
| 04:40:42 | slava | I think its much further alongw ith ObjC than C++ |
| 04:40:53 | mistergibson | cool |
| 04:41:23 | wycats | brixen: yah in rbx |
| 04:41:38 | brixen | wycats: #set_index is a primitive |
| 04:41:57 | wycats | brixen: and []= is aliased |
| 04:42:05 | wycats | so there's no win by using set_index vs. []= |
| 04:42:17 | wycats | brixen: I'm optimizing zip |
| 04:42:39 | brixen | yes, []= is aliased |
| 04:42:53 | brixen | I should say, #set_index is backed by a basic primitve |
| 04:42:59 | brixen | there's still fall-back code |
| 04:43:04 | brixen | for funky shit |
| 04:43:45 | mistergibson | ... goin' down in the city ... |
| 04:43:58 | brixen | mistergibson: you all toasty? |
| 04:44:12 | brixen | I'm gonna install nokogiri one more time and push this |
| 04:44:18 | mistergibson | indeed, got my comfy thick robe and my cow had on ... I'm set |
| 04:44:26 | brixen | heh |
| 04:44:33 | mistergibson | err... hat |
| 04:44:41 | mistergibson | fingers are also very fat just now |
| 04:44:48 | brixen | hah |
| 04:45:24 | wycats | brixen: Array.new appears to be dominating |
| 04:50:27 | boyscout | More compiler string interpolation specs. - a241091 - Brian Ford |
| 04:50:27 | boyscout | Make string interp specs pass. - 34654ea - Brian Ford |
| 04:50:27 | boyscout | Removed dead compiler code for string interp. - fe1a11f - Brian Ford |
| 04:50:27 | boyscout | Changed compiler specs related to "#{a}". See below. - 0874ccf - Brian Ford |
| 04:50:43 | brixen | mistergibson: give it a whirl |
| 04:50:51 | mistergibson | k, thanks |
| 04:55:22 | mistergibson | compiling |
| 04:55:36 | mistergibson | prefixed to /opt/rbx |
| 04:55:46 | mistergibson | just to be that way |
| 04:57:29 | brixen | mistergibson: you can do the multi-dir way |
| 04:57:42 | brixen | there's individual options for bindir, libdir, etc |
| 04:57:55 | mistergibson | --prefix=/usr ? |
| 04:58:03 | brixen | --help ;) |
| 04:58:14 | mistergibson | yes, rtfm ... gotcha |
| 04:58:25 | brixen | we could also add a --fhs perhaps |
| 04:58:30 | mistergibson | noted, I'll experiment this a way fer a spell |
| 04:58:33 | brixen | that puts the stuff where that would expect |
| 04:58:45 | mistergibson | cool, thanks for supporting that |
| 04:58:57 | brixen | what's the official reference on that? |
| 04:59:03 | mistergibson | hold preeze |
| 04:59:07 | wycats | brixen: -P is giving me: Error: signal SIGSEGV |
| 04:59:11 | brixen | I don't mess with linux much these days |
| 04:59:22 | wycats | http://gist.github.com/263518 |
| 04:59:35 | brixen | wycats: eww, me too |
| 04:59:47 | brixen | ouch |
| 05:00:04 | brixen | oh der |
| 05:00:14 | brixen | you have to use -Xint with the profiler for now |
| 05:00:18 | wycats | is there an alternative to Array.new(n) for making an Array of n size? |
| 05:00:18 | mistergibson | this is what I reference: http://www.pathname.com/fhs/pub/fhs-2.3.html |
| 05:00:22 | brixen | it doesn't play nice with the jit yet |
| 05:00:26 | wycats | brixen: but it won't be accurate |
| 05:00:26 | wycats | k |
| 05:00:34 | brixen | or the jit doesn't play nice with the profiler |
| 05:00:44 | brixen | wycats: it will be *more* accurate in a way |
| 05:00:53 | wycats | still segc |
| 05:00:54 | wycats | segv |
| 05:01:02 | wycats | when doing bin/rbx -P -Xint kernel/zipping.rb |
| 05:01:16 | brixen | ack |
| 05:01:19 | brixen | suckas |
| 05:01:29 | brixen | I guess don't use -P then :) |
| 05:01:34 | wycats | ha |
| 05:01:34 | brixen | wycats: file a ticket |
| 05:01:35 | wycats | nice |
| 05:01:41 | brixen | I'm sick of working on rbx tonight |
| 05:01:43 | wycats | I want to see what's taking all the time ;) |
| 05:01:44 | wycats | haha |
| 05:01:44 | wycats | ok |
| 05:01:59 | mistergibson | you've done a yoman's job sir, I thank you |
| 05:02:07 | wycats | yeoman ;) |
| 05:02:08 | brixen | heh |
| 05:02:10 | mistergibson | find a nice microbrew and relax |
| 05:02:13 | mistergibson | what you say |
| 05:02:15 | wycats | or did you mean yo-man |
| 05:02:19 | brixen | I should probably sync the specs back to rubyspec |
| 05:02:19 | mistergibson | haha |
| 05:02:26 | brixen | but I want to do something fun |
| 05:02:39 | wycats | http://github.com/evanphx/rubinius/issues/#issue/128 |
| 05:02:53 | wycats | brixen: see avatar ;) |
| 05:02:56 | brixen | wycats: thank you |
| 05:03:08 | brixen | wycats: I may, but not tongiht |
| 05:03:09 | mistergibson | I have to wait for it to hit the $2 theatre |
| 05:03:19 | mistergibson | but I hear it is outstanding eye candy |
| 05:04:29 | brixen | wycats: you should have put :-P in your ticket title :) |
| 05:04:39 | wycats | brixen: I will edit it |
| 05:04:49 | brixen | you don't have to on my account |
| 05:05:06 | wycats | http://github.com/evanphx/rubinius/issues/#issue/128 |
| 05:05:28 | brixen | oh, fun-erific http://gist.github.com/263519 |
| 05:05:49 | brixen | thanks gcc |
| 05:05:59 | brixen | when's that clang supposed to be ready? :) |
| 05:06:30 | wycats | it's done no? |
| 05:06:47 | mistergibson | hrm getting some E's and F's on tests |
| 05:07:00 | brixen | heh, "confused by earlier errors, bailing out" that makes 2 of us |
| 05:07:19 | brixen | mistergibson: paste me the output with your platform info |
| 05:07:24 | mistergibson | k |
| 05:07:29 | brixen | fires up vbox |
| 05:07:40 | mistergibson | what constitutes platform info for you? |
| 05:07:42 | wycats | do ti |
| 05:08:02 | brixen | arch, os, version |
| 05:08:05 | mistergibson | k |
| 05:09:31 | mistergibson | is there a log I of the build and tests that would be better? |
| 05:10:11 | brixen | just your terminal |
| 05:10:14 | mistergibson | k |
| 05:11:48 | brixen | wycats: hrm, evan changed some block stuff recently |
| 05:12:10 | brixen | wycats: damn you, can't you just not break stuff for a while |
| 05:12:20 | brixen | er, I mean tell me stuff is broken :P |
| 05:12:33 | wycats | haha |
| 05:13:02 | mistergibson | flooded my terminal buffer: going all 'rake > output.txt' |
| 05:16:38 | mistergibson | http://pastie.org/756207 |
| 05:18:57 | brixen | where is the dev dir you build in? |
| 05:19:19 | mistergibson | /root/Downloads/rubinius/rubinius |
| 05:19:21 | brixen | are you running like sudo rake here? |
| 05:19:26 | mistergibson | no |
| 05:19:43 | mistergibson | I usually build as root |
| 05:19:46 | brixen | are you running as root? |
| 05:19:53 | brixen | ok |
| 05:19:54 | mistergibson | on the build part yes |
| 05:19:57 | brixen | well, you shouldn't |
| 05:20:01 | mistergibson | ok |
| 05:20:02 | brixen | but alas, ppl do |
| 05:20:03 | mistergibson | no worries |
| 05:20:14 | mistergibson | I just got so used to it from the old days |
| 05:20:20 | brixen | heh |
| 05:20:31 | mistergibson | alright, I'll mend my evil ways and it elsewhere |
| 05:20:31 | brixen | in the old days, I was very careful never to do almost anything as root |
| 05:20:44 | mistergibson | odd, I went the other way |
| 05:20:47 | mistergibson | hrm |
| 05:21:11 | brixen | I'll check these specs, they normally do not run |
| 05:21:19 | brixen | because you have to be superuser to run them |
| 05:22:04 | mistergibson | I see |
| 05:38:59 | brixen | this sucks, I can't rake build:debug |
| 05:55:45 | mistergibson | no errs building as std.user |
| 05:59:51 | mistergibson | nokogiri installed fine |
| 06:05:02 | mistergibson | rice install broke - something about rb_gc_register_address not declared in scope |
| 06:05:13 | brixen | ok |
| 06:05:20 | brixen | not surprising |
| 06:05:24 | brixen | I'll look at rice |
| 06:05:26 | mistergibson | worth a shot |
| 06:05:32 | brixen | yep |
| 06:05:47 | mistergibson | no sweat - long term thing |
| 06:06:05 | brixen | the deal with the C-API is we will support as much as we can |
| 06:06:12 | brixen | some stuff we just can't support |
| 06:06:14 | mistergibson | yeah, no worries |
| 06:06:19 | brixen | so we may need to send a patch to them |
| 06:06:26 | mistergibson | perhaps |
| 06:06:37 | brixen | I'll probably work on getting mysql and postgres to install first |
| 06:06:40 | mistergibson | you do much with garbage collectors in general? |
| 06:06:47 | mistergibson | I see |
| 06:06:50 | brixen | some |
| 06:06:55 | brixen | I've been learning |
| 06:07:06 | brixen | I know the basics of how ours works |
| 06:07:13 | mistergibson | I wanted to get even into a chat on it |
| 06:07:24 | mistergibson | mono uses 8 patterns of the 12 I know of |
| 06:07:25 | brixen | yeah, evan's the man |
| 06:07:29 | mistergibson | k |
| 06:07:32 | brixen | gc, vm, jit, compilers |
| 06:07:37 | mistergibson | cool |
| 06:07:41 | brixen | he's amazing |
| 06:07:48 | brixen | I can say that cus he's not here :) |
| 06:07:54 | brixen | heh |
| 06:07:54 | mistergibson | hehe |
| 06:08:02 | brixen | he already knows that though |
| 06:08:12 | brixen | rbx has some rockin tech in it |
| 06:08:23 | mistergibson | yeah, I get that impression |
| 06:08:23 | brixen | and we're just getting started, actually |
| 06:08:34 | mistergibson | is this the rebirth? |
| 06:08:40 | brixen | of? |
| 06:09:00 | mistergibson | I caught - four years for this project so far, then a project stop, then ... ? |
| 06:09:11 | mistergibson | don't really know the history |
| 06:09:16 | brixen | well, it's been public just over 3 years |
| 06:09:21 | mistergibson | uncle google abouty cruft |
| 06:09:28 | brixen | evan announced it at rubyconf 2006 in nov |
| 06:09:31 | mistergibson | k |
| 06:09:36 | brixen | I learned about it in dec 2006 |
| 06:09:51 | brixen | we've done 2 vms, 4 compilers, 2 gcs |
| 06:10:06 | brixen | well, 3 vms counting the prototype evan did in ruby :) |
| 06:10:14 | mistergibson | wow |
| 06:10:19 | brixen | then translated that to C |
| 06:10:23 | mistergibson | k |
| 06:10:26 | brixen | then to C++ |
| 06:10:31 | mistergibson | oof |
| 06:10:31 | brixen | which was a huge improvement |
| 06:10:46 | mistergibson | can you just port that to objc for me pretty please? |
| 06:10:47 | mistergibson | hehe |
| 06:10:50 | brixen | we didn't think we'd get to the jit by 1.0 |
| 06:10:59 | mistergibson | you did though |
| 06:11:02 | brixen | heh, nah macruby has objc covered |
| 06:11:11 | mistergibson | except for Tiger |
| 06:11:16 | brixen | eww :P |
| 06:11:19 | mistergibson | and that's the rub |
| 06:11:28 | brixen | who runs Tiger? |
| 06:11:32 | mistergibson | man, I cannot tell you how *many* old Tiger boxes out there |
| 06:11:49 | brixen | well, rbx should work on it |
| 06:11:52 | mistergibson | maybe its because I live in the cheap seats |
| 06:12:06 | mistergibson | indeed, was looking at the old RubyObjC stuff |
| 06:12:08 | mistergibson | for Tiger |
| 06:12:19 | mistergibson | no other choice as I see it |
| 06:12:25 | mistergibson | no gc in Tiger |
| 06:12:31 | mistergibson | so, no MacRuby |
| 06:12:50 | brixen | yeah, we should be able to get RubyCocoa working |
| 06:12:52 | brixen | probably |
| 06:12:58 | brixen | I haven't looked at it |
| 06:13:05 | mistergibson | actually I kinda like the RubyObjC approach |
| 06:13:11 | mistergibson | small and very simple |
| 06:13:51 | mistergibson | it has all the classic limitations of a bridge, but It has very few things in it from which you build all else |
| 06:14:13 | mistergibson | which means, I can use it with mgStep, GNUStep, etc |
| 06:14:26 | mistergibson | its not exaclty Cocoa-centric |
| 06:14:38 | mistergibson | at least, that's what I see |
| 06:14:42 | brixen | we should try |
| 06:14:50 | mistergibson | all built on ffi I think |
| 06:15:20 | mistergibson | its old code (2007), but I can't see any reason to abandon it |
| 06:15:40 | mistergibson | the author went to Nu (lispish) withing Cocoa name space I think |
| 06:15:49 | brixen | oh no shit? |
| 06:15:53 | mistergibson | yea |
| 06:15:54 | brixen | I followed Nu a bit |
| 06:16:03 | brixen | I didn't realize that was the same guy |
| 06:16:08 | mistergibson | not bad, but I wanted to stick with ruby if possible |
| 06:16:11 | brixen | I have nu on my other laptop |
| 06:16:11 | mistergibson | yup |
| 06:16:19 | mistergibson | he did the docs for RubyCocoa |
| 06:16:38 | brixen | Nu would compete well with clojure I'd think |
| 06:16:45 | brixen | except the jvm is truly awesome |
| 06:16:54 | brixen | but syntax-wise |
| 06:18:12 | mistergibson | yeah, mysql would be nice. I plan on building around sinatra and sequel |
| 06:21:21 | brixen | man 282 failures, 334 errors running rubyspecs with 1.9.2 head |
| 06:21:23 | brixen | le sigh |
| 06:21:46 | mistergibson | its christmas eve man, grab a brewski |
| 06:21:59 | brixen | none here |
| 06:22:02 | mistergibson | pizza bob, pizza |
| 06:22:05 | brixen | and I'm not going to the store :) |
| 06:22:17 | mistergibson | yeah, friggin freezing outside |
| 06:22:29 | mistergibson | 30F says my gnome panel |
| 06:25:09 | wycats | brixen: I love how well rbx is handling Rails code |
| 06:25:20 | wycats | any special Ruby code is basically free on rbx |
| 06:25:36 | brixen | wycats: that is so awesome to hear |
| 06:25:40 | brixen | makes my day |
| 06:25:54 | wycats | brixen: :) |
| 06:25:58 | brixen | mistergibson: 27F here |
| 06:26:01 | wycats | I've been messing with html_safe? etc. |
| 06:26:25 | wycats | not only can I look at rbx for tricks (from taint), rbx is taking the extra 2-3 lines in stride |
| 06:26:42 | brixen | sweet |
| 06:27:11 | mistergibson | hrm, sqlite3 wont go in |
| 06:27:17 | mistergibson | warnings treated as errors |
| 06:27:40 | brixen | dang |
| 06:27:41 | brixen | ok |
| 06:27:51 | brixen | I used to have that off for extensions |
| 06:27:56 | brixen | I must have broken it |
| 06:28:00 | mistergibson | doh |
| 06:28:11 | brixen | I redid ext building |
| 06:28:22 | brixen | it's still lame |
| 06:28:28 | brixen | but such is rake |
| 06:28:30 | brixen | POS heh |
| 06:28:53 | brixen | I have a plan though, if only wycats would stop breaking stuff |
| 06:29:00 | brixen | er reporting stuff :) |
| 06:29:16 | mistergibson | haha |
| 06:29:18 | wycats | brixen: ha |
| 06:29:24 | wycats | I thought I had someone broken something |
| 06:29:26 | mistergibson | no news is good code eh? |
| 06:29:27 | wycats | with my mind |
| 06:29:49 | brixen | here goes, pushing my first gem via gemcutter.... |
| 06:30:02 | brixen | wycats: you probably did :) |
| 06:30:03 | mistergibson | drum roll please |
| 06:30:30 | wycats | jedi powers |
| 06:30:39 | wycats | master yo(hu)da |
| 06:30:43 | mistergibson | dark meat or light meat? |
| 06:30:52 | mistergibson | haha, nice |
| 06:31:00 | mistergibson | use the schwatz! |
| 06:31:28 | brixen | sweet! swoosh and it's gone |
| 06:32:10 | brixen | wycats: funny, I always though you spelled it yu(ho)da :P |
| 06:32:25 | brixen | where's evan with the ICE BURN followup? |
| 06:32:26 | brixen | heh |
| 06:32:55 | wycats | brixen: yehuda ;) |
| 06:33:38 | brixen | wycats: I know, just keeding ho ho ho |
| 06:33:45 | wycats | ha |
| 06:40:36 | wycats | brixen: seems like JRuby's big weakness is how slow it is before JITing |
| 06:40:46 | wycats | it's hidden in their bench numbers but it really blows |
| 06:41:36 | wycats | rubinius is now comfortably ahead of 1.8 across the board on my tests |
| 06:41:39 | wycats | which is a pretty huge deal |
| 06:43:43 | brixen | that's awesome |
| 06:43:51 | brixen | yeah, jruby is working on their new compiler |
| 06:44:00 | brixen | should get their interp #s up |
| 06:44:26 | brixen | meanwhile, we'll be moving our jit #s closer to the jvm :D |
| 06:47:13 | boyscout | Updated MSpec source to e728be1e. - dbdb9cb - Brian Ford |
| 06:47:13 | boyscout | Updated CI specs to RubySpec 6f74a317. - 461befe - Brian Ford |
| 06:47:13 | boyscout | Update CI tags for sync'd rubyspecs. - 3985b6d - Brian Ford |
| 06:47:25 | brixen | two-way rubyspec sync wasn't too bad |
| 06:47:37 | brixen | snuck in releasing a new version of mspec too |
| 06:47:54 | brixen | I just need to stay on top of it weekly |
| 06:49:40 | brixen | I'm really impressed with gemcutter |
| 06:49:44 | brixen | like, very |
| 06:49:57 | brixen | it's interesting to contrast hoe with gemcutter |
| 06:50:11 | brixen | we need more gemcutters and less Ho(e)s :) |
| 06:52:16 | brixen | hrm, where is this picking up -Wall |
| 06:56:24 | brixen | ugh, sqlite3 gem now depends on ffi gem? |
| 06:56:57 | brixen | as of dec 19th |
| 06:57:03 | brixen | well hum |
| 06:59:06 | brixen | or not |
| 06:59:16 | brixen | this layout on gemcutter.org is confusing |
| 07:01:42 | brixen | mistergibson: install the sqlit3-ruby gem, not the sqlite3 gem |
| 07:02:03 | brixen | we'll have to talk to the maintainer about ffi dependencies |
| 07:06:24 | mistergibson | k |
| 07:06:59 | boyscout | Don't put -Wall in rbconfig CFLAGS by default. - bb8f168 - Brian Ford |
| 07:10:50 | brixen | why is have_func('rb_str_set_len') failing in mkmf when we have that function? |
| 07:25:25 | wycats | brixen: Rubinius on Rails 3 is across the board faster than 1.9 on Rails 2.3 ... so nobody can say Rubinius isn't production ready |
| 07:25:45 | wycats | http://gist.github.com/263504 |
| 07:27:52 | brixen | awesome blossom |
| 07:28:05 | brixen | I've almost got mysql installing too |
| 07:28:51 | brixen | what's the deal with the regressions in 1.9.2? |
| 07:30:24 | brixen | looks like rbx is within striking distance of jruby on R3 too |
| 07:30:39 | brixen | not bad for 3yrs vs 8yrs |
| 07:30:48 | brixen | and writing a vm, gc, and jit :D |
| 07:32:14 | wycats | brixen: indeed |
| 07:50:46 | mistergibson | rbx rocks, great job guys |
| 07:51:16 | wycats | indeed |
| 07:52:32 | brixen | it is great to see |
| 07:54:28 | mistergibson | might want to wash all that code down with some tasty blues: http://64.62.252.134:5100 mp3 |
| 08:07:02 | mistergibson | time for a cat nap with a cow hat |
| 08:27:14 | wycats | http://gist.github.com/263504 |
| 08:27:26 | wycats | 1.9.2 is faster when I build from scratch |
| 08:27:29 | wycats | rvm is fail wayneeseguin |