Show enters and exits. Hide enters and exits.
| 00:11:11 | boyscout | Simplify qsort to using simplified and working algorithm - 63bab40 - Evan Phoenix |
| 00:19:03 | boyscout | CI: rubinius: 63bab40 successful: 3457 files, 13596 examples, 41216 expectations, 0 failures, 0 errors |
| 01:26:12 | boyscout | Simple hack to allow using sqlite3 1.3.0 - b969740 - Evan Phoenix |
| 01:31:55 | brianmario | evan: do you think adding that rb_thread_blocking_region (or similar) method would be a huge undertaking? |
| 01:32:07 | evan | no, probably not. |
| 01:32:34 | evan | it just unlocks and locks the state->global_lock() around the called function |
| 01:32:42 | evan | though it's a little worrysome |
| 01:32:48 | evan | because we have no clue how people use it |
| 01:33:11 | evan | and how handles will be effected by potentially multiple simultanious accesses |
| 01:33:22 | Defiler | I don't understand the use case |
| 01:33:31 | Defiler | other than, I guess, doing work in the wrong part of the process? |
| 01:34:42 | brianmario | I'm still learning about what exactly it does, but it's my understanding that it does something along the lines of telling the VM "yo, I'm busy over here in native-land - you can keep on doing stuff in ruby-land (for a while)" |
| 01:34:55 | evan | it's for the global lock, yeah. |
| 01:35:17 | evan | releases the lock so that other threads running ruby code can run while the current thread is blocked in some native code |
| 01:35:18 | boyscout | CI: rubinius: b969740 successful: 3457 files, 13596 examples, 41216 expectations, 0 failures, 0 errors |
| 01:35:45 | Defiler | ok, and how does it re-acquire the lock when it needs it again? |
| 01:37:40 | evan | it doesn't |
| 01:37:43 | evan | think of it like this |
| 01:37:52 | evan | rb_block_region(open, arg); |
| 01:37:59 | evan | ie, calling out to libc's open |
| 01:38:01 | Defiler | ok, so it's a similar use case to forking |
| 01:38:08 | Defiler | 'I'm good, don't worry about me' |
| 01:38:12 | evan | when open returns, the lock is reacquired |
| 01:38:18 | evan | i don't see how it's like fork at all. |
| 01:38:48 | Defiler | well, this is a call that (in this case) 'open' would make when it wanted to release the blocked region |
| 01:39:01 | Defiler | release from within a locked call |
| 01:39:04 | evan | no no |
| 01:39:27 | evan | your method hooked up via rb_define_method would use rb_block_region |
| 01:39:40 | Defiler | yeah |
| 01:39:49 | Defiler | when it is going to make a blocking call, right? |
| 01:39:50 | evan | to call a native function with the global lock unlocked, so that other threads can run while the native function runs |
| 01:40:06 | evan | when the native function returns, the lock is locked again |
| 01:40:09 | Defiler | oh, ok.. it's the reverse of what I would have expected from the name |
| 01:40:21 | Defiler | rb_nonblock_region |
| 01:41:42 | evan | Defiler: http://gist.github.com/398089 |
| 01:41:47 | evan | thats from the 1.9 source. |
| 01:42:44 | Defiler | man, that is a terrible name for that function haha |
| 01:42:56 | Defiler | ok, cool. its description makes sense at least |
| 01:43:28 | evan | yeah, name sucks. |
| 01:44:19 | Defiler | rb_magic_candycorn(bizalloc, optz) |
| 01:45:44 | brianmario | haha |
| 02:10:34 | boyscout | Include RUBY_EXTCONF_H. Fixes #281. - 616705d - Evan Phoenix |
| 02:16:24 | slava | evan: tell me about your ffi |
| 02:16:35 | slava | evan: where is the code that generates C function cals via LLVM? |
| 02:19:32 | boyscout | CI: rubinius: 616705d successful: 3457 files, 13596 examples, 41216 expectations, 0 failures, 0 errors |
| 02:49:42 | Defiler | not rbx related, but oh god this is rad http://github.com/datawrangling/trendingtopics |
| 02:59:14 | mjijackson | Any way to prevent Rubinius from leaving .rbc files around? |
| 03:01:40 | Defiler | There's a cmd-line option |
| 03:02:09 | mjijackson | Defiler: Ah. I see it now. --no-rbc |
| 03:02:13 | mjijackson | Defiler: thx |
| 03:02:17 | Defiler | no problem |
| 03:03:00 | mjijackson | Although I imagine the .rbc files enable Rubinius to run a little faster, right? |
| 03:03:16 | Defiler | it just saves re-doing the work of compiling to intermediate bytecode |
| 03:03:24 | Defiler | the next time you load the same file |
| 03:03:42 | Defiler | but doesn't have any impact on execution speed once things are loaded |
| 03:03:55 | Defiler | like .pyc for python |
| 03:03:59 | mjijackson | Right. But that compilation time could add up. |
| 03:04:03 | mjijackson | got it |
| 03:04:08 | Defiler | noticeable for things like rails |
| 03:04:14 | Defiler | which have hundreds of files |
| 03:04:23 | Defiler | thousands |
| 03:04:31 | mjijackson | Millions! |
| 03:04:47 | Defiler | actually, let me count heh |
| 03:04:51 | mjijackson | ;) |
| 03:07:07 | Defiler | about 800 |
| 03:07:30 | Defiler | sorry, 900 |
| 03:07:56 | mjijackson | so sad |
| 03:08:06 | Defiler | it should generally be fine to run your own code with --no-rbc |
| 03:08:08 | mjijackson | so much code |
| 03:08:18 | Defiler | but gems should get compiled when installed |
| 03:08:22 | Defiler | (and do) |
| 03:08:25 | mjijackson | i think i'll just add a *.rbc to my .gitignore |
| 03:08:40 | Defiler | yeah, just put it in ~/.gitignore |
| 03:08:51 | mjijackson | ah, even better |
| 03:45:48 | asarih | brixen: evan: ping |
| 04:29:46 | brixen | asarih: sup? |
| 04:30:05 | asarih | brixen: http://bit.ly/9U4kZE |
| 04:30:33 | asarih | basically, BigMath::log is veeeeerrry slooooow |
| 04:30:44 | asarih | with Rubinius. |
| 04:30:52 | brixen | indeed |
| 04:30:53 | asarih | much, much worse than MRI. |
| 04:31:03 | brixen | I'll take a look |
| 04:31:20 | asarih | don't mind the fast_log patch, though. |
| 04:31:28 | asarih | since it appears to be broken. |
| 04:31:32 | brixen | ok |
| 06:24:38 | boyscout | Updated README. - d915c4c - Brian Ford |
| 06:24:38 | boyscout | Updated getting_started.txt. - cac3c54 - Brian Ford |
| 06:25:57 | scoopr | that sounds like release-preparation! |
| 06:26:40 | brixen | heh |
| 06:28:11 | boyscout | Damn typos that only appear once the code is pushed. - 37c4e19 - Brian Ford |
| 06:32:36 | boyscout | CI: rubinius: cac3c54 successful: 3457 files, 13596 examples, 41216 expectations, 0 failures, 0 errors |
| 07:08:03 | kel | join #ubuntu-uk |
| 16:02:31 | evan | morning. |
| 16:05:13 | brixen | morning |
| 16:05:33 | evan | so, I saw some discussion about BigDecimal#log? |
| 16:05:38 | brixen | yeah |
| 16:05:53 | brixen | I haven't profiled it yet |
| 16:05:59 | brixen | but it is really slow |
| 16:06:02 | evan | where is it defined? |
| 16:06:04 | evan | I don't see it |
| 16:06:21 | evan | there is no log method in bigdecimal.c |
| 16:06:44 | evan | that ticket references BigMath::log |
| 16:06:48 | evan | i've got no clue what that is |
| 16:06:52 | brixen | lib/bigdecimal/math.rb |
| 16:07:05 | brixen | it's in the BigMath methods |
| 16:08:12 | brixen | this is just incomprehensible to me http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/9333 |
| 16:08:23 | brixen | see also http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7184 |
| 16:08:36 | evan | oh huh. |
| 16:08:48 | evan | i'll wager I had no idea there was bigdecimal ruby code. |
| 16:08:49 | brixen | jruby ticket is here: http://jira.codehaus.org/browse/JRUBY-4787?focusedCommentId=220893&page=com.atlassian.jira.plu gin.system.issuetabpanels%3Acomment-tabpanel#action_220893 |
| 16:09:14 | brixen | man, jira is so insane |
| 16:09:26 | brixen | thank lebron we don't use some shit like that :P |
| 16:10:16 | evan | hehe |
| 16:11:51 | Zoxc | hello, how's 1.9 and windows compitability going? |
| 16:12:07 | brixen | evan: here's the script I ran https://gist.github.com/aa41808e8c850986bef7 |
| 16:12:37 | brixen | hm github creates private by default when you hit enter in the name field, weird |
| 16:12:49 | evan | brixen: k |
| 16:12:53 | evan | Zoxc: not much work on it. |
| 16:13:23 | brixen | I'm running a profile of BigMath.log(BigDecimal("0.0001"), 100) |
| 16:13:27 | evan | k |
| 16:13:34 | brixen | should have it in about 5 min or so :) |
| 16:13:36 | evan | this is really something we don't need to fix for 1.0 though |
| 16:13:42 | brixen | no, not at all |
| 16:13:48 | evan | i doubt 95% of people even know this method exists. |
| 16:13:57 | brixen | replacing bigdecimal should be on the list for post 1.0 though |
| 16:14:05 | brixen | how post is TBD |
| 16:14:23 | brixen | it's a terrible library, but at least it's no worse than MRI's :) |
| 16:14:39 | evan | yep |
| 16:15:08 | brixen | so, re /doc, I'm removing the markdown syntax and trying to get everything up-to-date |
| 16:15:16 | brixen | any markup is shit to read in text |
| 16:15:25 | brixen | and I don't think we need to gen a website from /doc |
| 16:16:28 | evan | thats fine. |
| 16:43:27 | brixen | oh, here's the bigdecimal profile 398807 |
| 16:43:29 | brixen | er sec |
| 16:43:36 | brixen | http://gist.github.com/398807 |
| 16:43:49 | brixen | I had a feeling gc would be high on that |
| 16:45:23 | evan | hrmph. |
| 16:45:25 | evan | yep. |