Index

Show enters and exits. Hide enters and exits.

00:11:11boyscoutSimplify qsort to using simplified and working algorithm - 63bab40 - Evan Phoenix
00:19:03boyscoutCI: rubinius: 63bab40 successful: 3457 files, 13596 examples, 41216 expectations, 0 failures, 0 errors
01:26:12boyscoutSimple hack to allow using sqlite3 1.3.0 - b969740 - Evan Phoenix
01:31:55brianmarioevan: do you think adding that rb_thread_blocking_region (or similar) method would be a huge undertaking?
01:32:07evanno, probably not.
01:32:34evanit just unlocks and locks the state->global_lock() around the called function
01:32:42evanthough it's a little worrysome
01:32:48evanbecause we have no clue how people use it
01:33:11evanand how handles will be effected by potentially multiple simultanious accesses
01:33:22DefilerI don't understand the use case
01:33:31Defilerother than, I guess, doing work in the wrong part of the process?
01:34:42brianmarioI'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:55evanit's for the global lock, yeah.
01:35:17evanreleases the lock so that other threads running ruby code can run while the current thread is blocked in some native code
01:35:18boyscoutCI: rubinius: b969740 successful: 3457 files, 13596 examples, 41216 expectations, 0 failures, 0 errors
01:35:45Defilerok, and how does it re-acquire the lock when it needs it again?
01:37:40evanit doesn't
01:37:43evanthink of it like this
01:37:52evanrb_block_region(open, arg);
01:37:59evanie, calling out to libc's open
01:38:01Defilerok, so it's a similar use case to forking
01:38:08Defiler'I'm good, don't worry about me'
01:38:12evanwhen open returns, the lock is reacquired
01:38:18evani don't see how it's like fork at all.
01:38:48Defilerwell, this is a call that (in this case) 'open' would make when it wanted to release the blocked region
01:39:01Defilerrelease from within a locked call
01:39:04evanno no
01:39:27evanyour method hooked up via rb_define_method would use rb_block_region
01:39:40Defileryeah
01:39:49Defilerwhen it is going to make a blocking call, right?
01:39:50evanto call a native function with the global lock unlocked, so that other threads can run while the native function runs
01:40:06evanwhen the native function returns, the lock is locked again
01:40:09Defileroh, ok.. it's the reverse of what I would have expected from the name
01:40:21Defilerrb_nonblock_region
01:41:42evanDefiler: http://gist.github.com/398089
01:41:47evanthats from the 1.9 source.
01:42:44Defilerman, that is a terrible name for that function haha
01:42:56Defilerok, cool. its description makes sense at least
01:43:28evanyeah, name sucks.
01:44:19Defilerrb_magic_candycorn(bizalloc, optz)
01:45:44brianmariohaha
02:10:34boyscoutInclude RUBY_EXTCONF_H. Fixes #281. - 616705d - Evan Phoenix
02:16:24slavaevan: tell me about your ffi
02:16:35slavaevan: where is the code that generates C function cals via LLVM?
02:19:32boyscoutCI: rubinius: 616705d successful: 3457 files, 13596 examples, 41216 expectations, 0 failures, 0 errors
02:49:42Defilernot rbx related, but oh god this is rad http://github.com/datawrangling/trendingtopics
02:59:14mjijacksonAny way to prevent Rubinius from leaving .rbc files around?
03:01:40DefilerThere's a cmd-line option
03:02:09mjijacksonDefiler: Ah. I see it now. --no-rbc
03:02:13mjijacksonDefiler: thx
03:02:17Defilerno problem
03:03:00mjijacksonAlthough I imagine the .rbc files enable Rubinius to run a little faster, right?
03:03:16Defilerit just saves re-doing the work of compiling to intermediate bytecode
03:03:24Defilerthe next time you load the same file
03:03:42Defilerbut doesn't have any impact on execution speed once things are loaded
03:03:55Defilerlike .pyc for python
03:03:59mjijacksonRight. But that compilation time could add up.
03:04:03mjijacksongot it
03:04:08Defilernoticeable for things like rails
03:04:14Defilerwhich have hundreds of files
03:04:23Defilerthousands
03:04:31mjijacksonMillions!
03:04:47Defileractually, let me count heh
03:04:51mjijackson;)
03:07:07Defilerabout 800
03:07:30Defilersorry, 900
03:07:56mjijacksonso sad
03:08:06Defilerit should generally be fine to run your own code with --no-rbc
03:08:08mjijacksonso much code
03:08:18Defilerbut gems should get compiled when installed
03:08:22Defiler(and do)
03:08:25mjijacksoni think i'll just add a *.rbc to my .gitignore
03:08:40Defileryeah, just put it in ~/.gitignore
03:08:51mjijacksonah, even better
03:45:48asarihbrixen: evan: ping
04:29:46brixenasarih: sup?
04:30:05asarihbrixen: http://bit.ly/9U4kZE
04:30:33asarihbasically, BigMath::log is veeeeerrry slooooow
04:30:44asarihwith Rubinius.
04:30:52brixenindeed
04:30:53asarihmuch, much worse than MRI.
04:31:03brixenI'll take a look
04:31:20asarihdon't mind the fast_log patch, though.
04:31:28asarihsince it appears to be broken.
04:31:32brixenok
06:24:38boyscoutUpdated README. - d915c4c - Brian Ford
06:24:38boyscoutUpdated getting_started.txt. - cac3c54 - Brian Ford
06:25:57scooprthat sounds like release-preparation!
06:26:40brixenheh
06:28:11boyscoutDamn typos that only appear once the code is pushed. - 37c4e19 - Brian Ford
06:32:36boyscoutCI: rubinius: cac3c54 successful: 3457 files, 13596 examples, 41216 expectations, 0 failures, 0 errors
07:08:03keljoin #ubuntu-uk
16:02:31evanmorning.
16:05:13brixenmorning
16:05:33evanso, I saw some discussion about BigDecimal#log?
16:05:38brixenyeah
16:05:53brixenI haven't profiled it yet
16:05:59brixenbut it is really slow
16:06:02evanwhere is it defined?
16:06:04evanI don't see it
16:06:21evanthere is no log method in bigdecimal.c
16:06:44evanthat ticket references BigMath::log
16:06:48evani've got no clue what that is
16:06:52brixenlib/bigdecimal/math.rb
16:07:05brixenit's in the BigMath methods
16:08:12brixenthis is just incomprehensible to me http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/9333
16:08:23brixensee also http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7184
16:08:36evanoh huh.
16:08:48evani'll wager I had no idea there was bigdecimal ruby code.
16:08:49brixenjruby 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:14brixenman, jira is so insane
16:09:26brixenthank lebron we don't use some shit like that :P
16:10:16evanhehe
16:11:51Zoxchello, how's 1.9 and windows compitability going?
16:12:07brixenevan: here's the script I ran https://gist.github.com/aa41808e8c850986bef7
16:12:37brixenhm github creates private by default when you hit enter in the name field, weird
16:12:49evanbrixen: k
16:12:53evanZoxc: not much work on it.
16:13:23brixenI'm running a profile of BigMath.log(BigDecimal("0.0001"), 100)
16:13:27evank
16:13:34brixenshould have it in about 5 min or so :)
16:13:36evanthis is really something we don't need to fix for 1.0 though
16:13:42brixenno, not at all
16:13:48evani doubt 95% of people even know this method exists.
16:13:57brixenreplacing bigdecimal should be on the list for post 1.0 though
16:14:05brixenhow post is TBD
16:14:23brixenit's a terrible library, but at least it's no worse than MRI's :)
16:14:39evanyep
16:15:08brixenso, re /doc, I'm removing the markdown syntax and trying to get everything up-to-date
16:15:16brixenany markup is shit to read in text
16:15:25brixenand I don't think we need to gen a website from /doc
16:16:28evanthats fine.
16:43:27brixenoh, here's the bigdecimal profile 398807
16:43:29brixener sec
16:43:36brixenhttp://gist.github.com/398807
16:43:49brixenI had a feeling gc would be high on that
16:45:23evanhrmph.
16:45:25evanyep.