Show enters and exits. Hide enters and exits.
| 00:32:36 | evan | multi thread programming in ruby is.. interesting. |
| 00:55:08 | evan | yay! |
| 00:55:11 | evan | fixed the jit crash. |
| 00:55:38 | brixen | sweet |
| 00:55:50 | evan | jit appears to shave 10s off rdoc |
| 00:55:53 | brixen | nice |
| 00:56:22 | evan | I was thinking about inlining in the shower this morning |
| 00:56:30 | brixen | I've got the baseline graphs done, but adding zooming because we're in the 0.1 to 0.6 times MRI range |
| 00:56:34 | evan | oh, more |
| 00:56:39 | evan | 56.2s |
| 00:56:40 | brixen | good |
| 00:56:58 | evan | yeah, i noticed that |
| 00:57:05 | evan | i tried to figure out zooming in flot |
| 00:57:06 | evan | i did not. |
| 00:57:12 | brixen | I got it |
| 00:57:15 | brixen | just a bit more |
| 00:57:34 | evan | another thing also, FFI stub inlining |
| 00:57:40 | evan | when we do something like |
| 00:57:49 | evan | POSIX.chmod() |
| 00:58:05 | evan | seems like we could almost inline the code to call chmod without a guard |
| 00:58:06 | evan | yes? |
| 00:58:16 | brixen | yeah |
| 00:58:40 | evan | because we force FFI functions to be installed in Module's metaclass |
| 00:58:46 | brixen | maybe a guard on POSIX's serial |
| 00:58:58 | evan | seems like we could just try ignoring the receiver all together |
| 00:58:58 | brixen | ah yeah |
| 00:59:00 | evan | no guard |
| 00:59:10 | evan | it's really just a namespace in this case |
| 00:59:13 | brixen | hm, seems reasonable |
| 00:59:24 | evan | i'm trying to figure out where that breaks down |
| 00:59:26 | evan | if it does |
| 00:59:53 | boyscout | Fix race condition in ConditionVariable#wait - cfb2e63 - Evan Phoenix |
| 00:59:53 | boyscout | Promote VariableScope before using it as an object - 69396eb - Evan Phoenix |
| 01:00:07 | evan | rdoc found both of those |
| 01:00:14 | brixen | cool |
| 01:00:15 | evan | the former too me all day to debug |
| 01:00:18 | evan | took |
| 01:00:42 | evan | basically, turns out that Thread.abort_on_exceptions can be scary |
| 01:00:54 | brixen | is that MRI CV code? |
| 01:01:00 | evan | CV? |
| 01:01:01 | brixen | or did we write it? |
| 01:01:03 | evan | no |
| 01:01:07 | evan | MentalGuy rewrote it |
| 01:01:10 | brixen | ahh |
| 01:01:11 | evan | i've tweaked it |
| 01:01:36 | evan | basically, we have a call to Channel.receive_timeout (was just .receive before) |
| 01:01:42 | evan | and the OTHER thread would raise an exception |
| 01:01:46 | evan | and abort_on_exception was set |
| 01:01:53 | evan | so the main thread wakes up |
| 01:02:09 | evan | and the exception bubbles up as though it were raised by receive/receive_timeout |
| 01:02:21 | evan | which fucked up some mutex handling |
| 01:02:35 | ezmob | guys what version and where do i put the checkout of LLVM if i want to build rbx with llvm support? |
| 01:02:37 | brixen | crazy |
| 01:03:04 | brixen | ezmob: svn head and vm/external_libs/llvm |
| 01:03:18 | brixen | RBX_LLVM=1 rake |
| 01:03:23 | boyscout | CI: 69396eb success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors |
| 01:03:27 | ezmob | is there a rake task to get llvm? |
| 01:03:48 | brixen | nope |
| 01:03:54 | brixen | one sec.. |
| 01:04:28 | brixen | svn co http://llvm.org/svn/llvm-project/llvm/trunk |
| 01:04:33 | ezmob | danke |
| 01:04:36 | brixen | bitte |
| 01:04:41 | ezmob | do i need to rake distclean if i had it built without llvm? |
| 01:04:48 | brixen | evan: so, we should probably make llvm required soon |
| 01:04:54 | brixen | ezmob: just rake should work |
| 01:05:02 | ezmob | k |
| 01:05:02 | brixen | RBX_LLVM=1 rake |
| 01:05:16 | evan | brixen: yep. |
| 01:05:23 | evan | we need to discuss how we'll do it |
| 01:05:55 | evan | 2.6 will have be out in september |
| 01:06:08 | evan | so we'll need to figure out how to direct people to use svn |
| 01:06:26 | brixen | have the build task svn co -r into external_libs/llvm if it doesn't exist |
| 01:06:37 | brixen | and run with RBX_LLVM=1 if it does |
| 01:06:43 | brixen | so it will fail gracefully |
| 01:06:53 | lstoll | people have forgotten how to use svn already? |
| 01:07:06 | brixen | lstoll: svn help command is my lifeline :) |
| 01:07:06 | evan | brixen: sure |
| 01:07:08 | evan | that works |
| 01:07:19 | evan | lstoll: it's more whether or not it's "simple" |
| 01:07:39 | brixen | I'd like to forget how to use svn |
| 01:07:47 | brixen | there is no get reset --hard rev :( |
| 01:07:50 | brixen | er git |
| 01:08:10 | lstoll | fair point. having the build task sounds like it'd work, and save people from caring. Or git-svn mirror it, and submodule. |
| 01:08:17 | brixen | I miss that command more than anything else besides branches |
| 01:08:35 | evan | there is a git mirror of llvm |
| 01:08:47 | evan | we could just experiment with having it be a sub module |
| 01:09:01 | brixen | yeah, that'd work too |
| 01:17:32 | brixen | erg, x zooming but not y yet |
| 01:17:34 | evan | hm, i don't think I can make constant access "pure" |
| 01:17:35 | brixen | so close |
| 01:17:46 | evan | so it can be folded away |
| 01:17:56 | evan | because of const_missing |
| 01:18:02 | brixen | hm, yeah |
| 01:18:19 | evan | you'd think that all const_missing's would be resolved by the time the JIt kicks in |
| 01:18:20 | brixen | unless you can peek in the future and make sure it's not called |
| 01:18:32 | evan | but remove_const can make future access call const_missing |
| 01:18:33 | brixen | llvm needs a future_peek function |
| 01:18:42 | brixen | yeah |
| 01:19:34 | brixen | need a guard that's invalidated on a call to remove_const |
| 01:19:56 | evan | I think that could be easy |
| 01:21:22 | brixen | awesome, xy zooming goodness |
| 01:22:21 | evan | yay |
| 01:23:03 | brixen | I'll push as soon as specs run |
| 01:23:08 | evan | rad |
| 01:23:08 | brixen | evan: let's get this set up |
| 01:23:12 | evan | ok |
| 01:23:12 | brixen | are we going to use elle? |
| 01:23:15 | evan | we can do it on elle |
| 01:23:17 | brixen | ok |
| 01:23:27 | brixen | so, how about benches.rubini.us? |
| 01:23:34 | evan | sure |
| 01:23:44 | brixen | I'll do some runs from the past couple months |
| 01:23:48 | brixen | so we seed it with data |
| 01:23:50 | evan | awesome |
| 01:23:52 | evan | thats perfect |
| 01:23:58 | brixen | and build a 1.8.6 for a baseline |
| 01:24:00 | evan | oh, so since i've added direct threading back in |
| 01:24:02 | brixen | using wyhaines patch |
| 01:24:05 | evan | i need to redo the numeric benchmarks |
| 01:24:11 | evan | we should be even with shotgun |
| 01:24:15 | brixen | cool |
| 01:24:58 | boyscout | Removed benchmark results examples. - f026812 - Brian Ford |
| 01:24:58 | boyscout | Added baseline graphs and some graph cleanup. - 8a5fa5f - Brian Ford |
| 01:24:58 | boyscout | Another example graph page. - dfe9f00 - Brian Ford |
| 01:24:59 | benschwarz | then you guys can come to australia guilt free |
| 01:25:12 | brixen | evan: have a look at benchmark/results/web/index.html again |
| 01:25:21 | brixen | the bottom 2 graphs should zoom |
| 01:25:32 | evan | ok! |
| 01:26:11 | brixen | I'll add an actual line to the graph at 1 |
| 01:26:41 | evan | the relative ones seem like they should be zoomed lower |
| 01:26:48 | evan | rather than going up to 6 |
| 01:26:56 | brixen | yeah, I can add a config for that |
| 01:27:10 | brixen | I'm leaving us plenty of room to improve! |
| 01:27:16 | brixen | it's an incentive |
| 01:27:24 | brixen | that's why I added zooming :) |
| 01:27:29 | brixen | for all the complaints |
| 01:27:30 | brixen | heh |
| 01:27:38 | evan | hah |
| 01:27:41 | evan | so true |
| 01:27:45 | evan | i can't wait until it's over 6 |
| 01:27:59 | brixen | yeah, we'll have a big party and adjust the default |
| 01:28:05 | brixen | to ceremony and drinks |
| 01:28:24 | boyscout | CI: dfe9f00 success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors |
| 01:28:29 | evan | sounds good |
| 01:28:56 | brixen | so, just tell me which dir on elle |
| 01:29:11 | brixen | I'll add a top link to rubini.us pages for the benchmark page |
| 01:29:12 | evan | just make one |
| 01:29:15 | evan | and tell me where you put it |
| 01:29:17 | brixen | k |
| 01:29:20 | evan | and i'll add apache config for it |
| 01:29:50 | brixen | in my home dir, rubinius/benchmark/results/web/benchmarks.html |
| 01:30:22 | brixen | er, prefix devel/ |
| 01:30:59 | evan | bench.rubini.us? |
| 01:31:04 | brixen | that works |
| 01:32:20 | evan | i'll just set it to /web |
| 01:32:28 | evan | and you can make an index.html |
| 01:32:36 | brixen | k |
| 01:33:30 | brixen | there's one in there now, so you should be able to test it |
| 01:34:14 | brixen | wyhaines: how should I get/build the 1.8.6 source for optimum goodness |
| 01:34:24 | brixen | (never mind the oxymoron) |
| 01:34:25 | evan | you mean devel/rubinius |
| 01:34:26 | evan | ? |
| 01:34:29 | brixen | yeah |
| 01:36:56 | brixen | sweet, works for me |
| 01:37:11 | brixen | now to put some spit shine on it |
| 01:38:13 | evan | ok, it might work now |
| 01:38:20 | evan | i forgot to update my dns at first |
| 01:38:29 | evan | so i might have screwed up my own cache here |
| 01:38:32 | brixen | I'm seeing it |
| 01:39:02 | evan | k |
| 01:47:54 | boyscout | Added benchmarks link. - 61daf49 - Brian Ford (gh-pages) |
| 01:48:51 | brixen | oops, not quite right |
| 01:53:13 | evan | stupid airport extreme isn't refreshing dns |
| 01:57:07 | boyscout | Added real links. - 9450d43 - Brian Ford (gh-pages) |
| 01:58:05 | brixen | github is quite spritely on pushing out those changes |
| 04:41:39 | boyscout | Added rubini.us template. - f8e437e - Brian Ford |
| 04:42:52 | brixen | rock http://bench.rubini.us/ |
| 04:43:05 | brixen | now, to start adding some bench data |
| 04:44:06 | boyscout | CI: f8e437e success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors |
| 04:47:26 | boyscout | Fix menu link URLs in rubinius benchmark template. - fdd7307 - Brian Ford |
| 04:51:56 | boyscout | CI: fdd7307 success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors |
| 05:48:06 | brixen | hi maharg |
| 07:34:26 | brixen | argh, it's taking more than 900 sec to run the rdoc benches |
| 07:34:39 | evan | really? |
| 07:34:44 | evan | it was like 70 before |
| 07:35:26 | brixen | well, total |
| 07:35:34 | brixen | it has to run them 6 times |
| 07:35:44 | brixen | once to ensure it's compiled and 5 trials |
| 07:35:47 | evan | ah. |
| 07:35:52 | evan | wowzers. |
| 07:35:54 | evan | overnight! |
| 07:36:11 | brixen | yeah, I kicked it off nohup before I drove home |
| 07:36:19 | brixen | found out it timed out on the last trial |
| 07:36:23 | brixen | so close! |
| 07:36:56 | brixen | I'll have some real data here shortly http://bench.rubini.us/ |
| 07:37:12 | evan | rad |
| 07:38:02 | brixen | I won't be able to run the jit going back, but I was going to run regular rbx like each week back in time up to feb or so |
| 07:38:32 | brixen | and I'll fix the cron to run this benchmark/app nightly now |
| 07:40:02 | brixen | weirdly, the mspec-ci bench had wildly different times, as low as 52s, a couple in ~80s, and one up to 153s |
| 07:40:09 | brixen | I dunno why it would vary so much |
| 07:40:21 | brixen | unless the load on elle is pretty sporadic |
| 07:40:41 | brixen | actually one was over 200s |
| 07:41:15 | evan | it could be |
| 07:41:29 | evan | put the script in git |
| 07:41:36 | evan | i booted the macmini up today |
| 07:41:38 | evan | i'll run it overnight |
| 07:41:42 | evan | we can take a look at the results |
| 07:41:49 | brixen | k |
| 07:42:35 | evan | there is no load on it |
| 07:42:56 | brixen | the mini? |
| 07:43:35 | evan | yeah |
| 07:43:46 | brixen | yeah cool |
| 07:45:24 | brixen | what's the proper way to set env vars for a script exec'd by cron? can you put 'VAR=blah some_script' in the crontab? |
| 07:47:28 | dbussink | brixen: yeah, you can put that on top |
| 07:47:52 | brixen | dbussink: on top of? |
| 07:48:28 | dbussink | brixen: in the crontab |
| 07:49:02 | dbussink | brixen: if you put in a MAILTO for example that works the same |
| 07:49:11 | brixen | ah yeah, ok |
| 07:49:15 | dbussink | sets the env var and crontab uses that env var to determine who to send it |
| 07:49:24 | brixen | I recall that now |
| 07:49:25 | brixen | thanks |
| 07:49:51 | brixen | evan: to set up the baseline on the mini, run rake -q bench:dir DIR=benchmark/app/ VM=rbx GROUP=ruby-baseline |
| 07:50:19 | brixen | evan: the script will expect the baseline data to exist already |
| 07:50:33 | brixen | er, VM=ruby |
| 07:50:36 | evan | ok |
| 07:52:28 | evan | rad |
| 07:52:46 | evan | so, i've moved the abilities of GlobalCacheEntry into the JIT |
| 07:53:06 | evan | and by making it pin-able (awesome feature of immix) |
| 07:53:24 | evan | i can embed derefs to direct address in the assembly |
| 07:53:46 | brixen | sweet |
| 07:53:59 | evan | so that reading a cached constant is 2 moves, a compare, then a move |
| 07:54:09 | brixen | awesome |
| 07:54:32 | evan | ok, brb. |
| 08:06:18 | boyscout | Add faster constant lookup to the JIT - a642a3b - Evan Phoenix |
| 08:14:00 | boyscout | CI: a642a3b success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors |
| 08:14:17 | evan | i also found a place in at&t x86 i really dislike |
| 08:14:35 | evan | mov 0x32a31, %eax |
| 08:14:39 | evan | and |
| 08:14:45 | evan | mov $0x32a31, %eax |
| 08:14:49 | evan | so similar, and so different. |
| 08:15:04 | evan | any ideas what the difference is? |
| 08:15:14 | brixen | nope |
| 08:15:31 | brixen | I don't know what $ does |
| 08:16:20 | evan | the first reads the int thats at 0x32a31 and puts the result into %eax |
| 08:16:28 | evan | ie, it's deref's the address |
| 08:16:41 | evan | the 2nd puts the number 0x32a31 into %eax |
| 08:16:58 | brixen | ah, so $ is literal? |
| 08:17:02 | evan | ie, it puts a constant int into a register |
| 08:17:02 | evan | yep |
| 08:17:05 | brixen | I see |
| 08:17:12 | evan | i thought it was an LLVM bug |
| 08:17:16 | evan | filed a bug and everything |
| 08:17:19 | brixen | heh |
| 08:17:24 | evan | then sabre pointed out the difference |
| 08:17:48 | brixen | yeah, bleary-eyed assembly ogling ftl |
| 08:18:03 | evan | yep! |
| 08:29:55 | brixen | dang, didn't build with llvm on elle before running the benches with the jit |
| 08:30:03 | brixen | was wondering what was taking so long |
| 08:30:32 | brixen | it's like 'jit? what jit? <plod>' |
| 08:39:51 | evan | hehe |
| 08:41:44 | evan | I leaned on the GC dependent regions in the JIT |
| 08:41:50 | evan | to make constant lookup fast |
| 08:42:02 | evan | so I wrapped it up into a C++ RIAA object |
| 08:42:09 | evan | so I can just do |
| 08:42:15 | evan | AccessManagedMemory memguard(ls_); |
| 08:42:19 | evan | at the top of a function |
| 08:42:24 | evan | and access managed memory the whole function |
| 08:42:24 | brixen | nice |
| 08:42:28 | maharg | RAII you mean? |
| 08:42:33 | evan | yeah, that guy. |
| 08:42:38 | evan | not the guys that hate my music |
| 08:42:38 | maharg | I'd hope the recording industry isn't in rubinius |
| 08:42:45 | brixen | heh |
| 08:44:08 | brixen | hm full spec run seems to be ~5s faster for me, was ~55-56 now ~50-51 |
| 08:44:21 | brixen | maybe my computer is quieter this late |
| 08:47:58 | evan | faster since when? |
| 08:48:03 | evan | i did do all that perf work |
| 08:48:10 | evan | so you're probably seeing it |
| 08:49:53 | evan | i've got the macmini plugged into my TV |
| 08:50:01 | evan | it's actually pretty darn cool to have |
| 08:50:39 | brixen | faster since a day ago I think |
| 08:50:53 | evan | hm |
| 08:51:00 | evan | just lucky maybe! |
| 08:51:03 | boyscout | Removed example benchmarks graph page. - 214e9fa - Brian Ford |
| 08:51:03 | boyscout | Example cron script to run app benchmarks. - ff80dfd - Brian Ford |
| 08:51:19 | brixen | ok, the script is in benchmark/utils |
| 08:51:37 | brixen | cron_daily |
| 08:51:56 | brixen | it's got comments, but check it before I crash |
| 08:53:22 | boyscout | CI: ff80dfd success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors |
| 08:54:22 | evan | ok |
| 08:54:31 | evan | actually |
| 08:54:32 | evan | nah |
| 08:54:33 | evan | get to bed |
| 08:54:37 | evan | i'll start it in the morning |
| 08:54:41 | brixen | ok |
| 08:54:42 | evan | i've got to get LLVM up on this machine |
| 08:54:53 | brixen | I'm setting elle to run this but yeah, need to compile llvm first |
| 08:54:58 | brixen | that should take a while |
| 08:54:59 | evan | yep |
| 08:55:11 | brixen | so, open source bridge tomorrow |
| 08:55:19 | evan | oh yeah! |
| 08:55:21 | brixen | I need to finish my slides |
| 08:55:23 | evan | you all ready? |
| 08:55:33 | brixen | but I'll start working on importing syck |
| 08:55:38 | brixen | pretty ready |
| 08:55:46 | evan | coolness |
| 08:55:48 | brixen | I'm pretty familiar with the topic :) |
| 08:55:59 | evan | yeah, the best kind of talk to give |
| 08:56:04 | brixen | heh yeah |
| 08:56:04 | evan | thats why i hardly prepare anymore |
| 08:56:17 | evan | i've got it coming out my pores at this point |
| 08:56:29 | brixen | yeah |
| 08:56:51 | brixen | the hard thing for presenting is remembering what it was like before that |
| 08:57:08 | brixen | cus that's what the audience is like |
| 08:57:26 | brixen | 'the what does how to who?!' |
| 08:57:39 | evan | hehe |
| 08:57:47 | evan | in those cases |
| 08:57:50 | evan | i take a quick survey |
| 08:57:56 | evan | to figure out where people are |
| 08:58:05 | brixen | yeah |
| 09:19:46 | boyscout | Fix line endings. - 8952959 - Brian Ford |
| 09:19:46 | boyscout | Add ticks when zooming graphs. - 44d1da7 - Brian Ford |
| 09:22:07 | boyscout | CI: 44d1da7 success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors |
| 09:46:12 | brixen | evan: I needed this to compile on elle, but it doesn't work on os x http://gist.github.com/131153 |
| 09:46:33 | brixen | not sure the best way to conditionalize that |
| 09:48:49 | evan | umm |
| 09:48:50 | evan | really? |
| 09:49:06 | evan | i thought llvm-config set those flags... |
| 09:50:24 | evan | put a #ifndef __STD.. |
| 09:50:26 | evan | conditional around it |
| 09:51:49 | brixen | k |
| 09:52:29 | brixen | also, seeing what seems to be a hang in Thread#wakup spec |
| 09:55:04 | brixen | http://gist.github.com/131156 |
| 09:55:51 | evan | hrm |
| 09:55:51 | evan | ok |
| 09:56:56 | evan | i'll take a look tomorrow |
| 09:57:05 | brixen | ok |
| 09:57:12 | evan | i fixed check_serial |
| 09:57:18 | evan | which gives us another little boost |
| 09:57:21 | evan | about to commit it |
| 09:57:30 | brixen | nice |
| 09:57:39 | evan | Class.new is a lot more effecient now |
| 09:57:46 | brixen | excellent |
| 09:57:56 | evan | we don't have to box the arguments to pass them into initialize |
| 09:58:08 | evan | check_serial sees if we would have called the normal Class#new |
| 09:58:25 | evan | and if so, does the allocate and initialize in the caller |
| 09:58:41 | evan | with the arguments evaluated and passed directly into initialize |
| 09:58:58 | brixen | cool |
| 09:59:07 | evan | it ignores complicated call sites |
| 09:59:11 | evan | splats, blocks, etc. |
| 09:59:21 | evan | just passing all that to the normal Class#new |
| 10:00:31 | evan | oh, and nicely |
| 10:00:40 | evan | check_serial works joinly with a send instruction |
| 10:00:46 | evan | coordinating a single SendSite object |
| 10:00:54 | evan | the send fills it, check_serial checks it next time |
| 10:02:17 | evan | oooh |
| 10:02:25 | evan | we're right on the cusp of sub 50s specs runs |
| 10:02:33 | evan | just got 50.42 |
| 10:02:41 | brixen | yeah, something sped it up in the last day |
| 10:02:47 | boyscout | Check that a GlobalCacheEntry exists before using it - b7858b5 - Evan Phoenix |
| 10:02:47 | boyscout | Fix check_serial - 0bf2da3 - Evan Phoenix |
| 10:02:56 | brixen | because I updated to do the graph stuff |
| 10:03:03 | brixen | and I was getting 55-56s |
| 10:04:05 | evan | it could have been direct threading maybe |
| 10:04:14 | evan | anyway |
| 10:04:16 | brixen | ah could |
| 10:04:25 | evan | or maybe pixie dust |
| 10:04:27 | evan | i'll take either. |
| 10:04:28 | brixen | this thread pass spec is wtf |
| 10:04:34 | brixen | I hate these thread specs |
| 10:04:35 | evan | i'm off to bed |
| 10:04:37 | brixen | yep |
| 10:04:40 | brixen | nite! |
| 10:04:41 | evan | a spec for Thread#pass |
| 10:04:43 | evan | UG. |
| 10:04:52 | evan | you should get some sleep too |
| 10:04:57 | brixen | it's Thread#wakup actually |
| 10:04:57 | evan | what time is your talk? |
| 10:05:06 | brixen | thurs at 11:20 |
| 10:05:22 | evan | oh, not tomorrow |
| 10:05:23 | evan | gotcha |
| 10:05:23 | brixen | I've got 30 hrs or so |
| 10:05:24 | evan | ok |
| 10:05:25 | brixen | heh |
| 10:05:36 | evan | you can stay up later then |
| 10:05:38 | evan | :D |
| 10:05:39 | evan | nite! |
| 10:05:41 | brixen | nite! |
| 10:08:38 | boyscout | CI: 0bf2da3 success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors |
| 10:09:17 | boyscout | Include __STDC_LIMIT_MACROS stuff if needed. - 794b460 - Brian Ford |
| 10:11:34 | boyscout | CI: 794b460 success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors |
| 12:07:44 | nemerle_m | Hello, are there any known mspec-ci failures ( threads ) on current master ? |
| 16:16:11 | Ingmar | git HEAD fails to compile for me http://dpaste.com/56437/ |
| 16:16:33 | Ingmar | Linux x86_64, GCC 4.4.0 |
| 16:18:40 | nemerle_m | Hi, i'm too using gcc 4.4, but i didn't have this problem, could you try to change the 'char *tmp;' line to 'const char * tmp;' ? |
| 16:21:20 | Ingmar | sure, a sec |
| 16:23:12 | Ingmar | That gives me http://dpaste.com/56439/ |
| 16:23:28 | Ingmar | Wouldn't not using -Werror avoid making it fatal though |
| 16:24:05 | nemerle_m | you might also encounter one other issue, id_to_quark is using tLAST_TOKEN, but tokens are defined later on, I've solved that by moving id_to_quark below scan_hex |
| 16:26:44 | nemerle_m | another issue you might encounter is strict aliasing problems in libgdtoa |
| 16:28:54 | nemerle_m | adding CC flag '-fno-strict-aliasing' to the libgdtoa's Makefile solved that one for me :) |
| 16:29:12 | Ingmar | Is there any way to build using system libraries, instead of included 3rdparty libs? |
| 16:31:04 | nemerle_m | not that i know of, but then, i know not a whole lot :) |
| 16:31:13 | Ingmar | oki, thanks :) |
| 16:31:31 | Ingmar | more than I know at least ;) |
| 16:32:11 | nemerle_m | well, i tackled the same problems (sans "char * -> const char *" one ) just yesterday |
| 17:12:25 | brixen | dang, I keep missing nemerle |
| 17:14:45 | brixen | Ingmar: which distro are you using? |
| 17:15:46 | Ingmar | brixen: Exherbo, pretty sure you don't know it yet :) |
| 17:15:53 | Ingmar | brixen: Why? |
| 17:16:01 | brixen | heh, no I hadn't heard of it |
| 17:16:08 | brixen | I want to fix the gcc 4.4 issues |
| 17:16:12 | Ingmar | It's sort of similar to Gentoo |
| 17:16:18 | Ingmar | ok |
| 17:16:22 | brixen | I've got an ubuntu x86_64 |
| 17:16:30 | brixen | I'm booting vbox now |
| 17:16:41 | Ingmar | great |
| 17:16:49 | Ingmar | I'll gladly test patches :) |
| 17:17:05 | brixen | cool |
| 17:17:06 | Ingmar | Is rubinius packaged in any linux distros atm? |
| 17:17:23 | brixen | I think someone was working on a deb or ubuntu package |
| 17:17:30 | brixen | we'd love to have packagers |
| 17:20:26 | sbryant_work | brixen: I saw the benchmark graphs. Neat, but they're kind of difficult to read. |
| 17:23:07 | brixen | sbryant_work: which? the bench.rubini.us? |
| 17:23:19 | sbryant_work | Yep |
| 17:23:49 | sbryant_work | I don't really see any metrics. |
| 17:24:00 | sbryant_work | Which make it hard to understand what those numbers really mean |
| 17:24:01 | brixen | well, there's a couple issues, 1 there is no data really, 2 the benches have a big range |
| 17:24:13 | sbryant_work | Fair enough |
| 17:24:27 | brixen | the top graphs are # of seconds, the bottom are X times MRI (baseline) |
| 17:24:47 | brixen | they are snapshots |
| 17:25:00 | brixen | you can see in the bottom, all the dots are below the baseline 1X MRI |
| 17:25:09 | brixen | pretty clear there |
| 17:25:18 | brixen | so, you should see the top graphs trending down |
| 17:25:23 | brixen | (takes less time to run) |
| 17:25:29 | brixen | and the bottom trending up |
| 17:25:34 | brixen | (closer to MRI) |
| 17:25:50 | sbryant_work | Gotcha |
| 17:25:54 | brixen | and eventually crossing the baseline into N X MRI where N > 1 |
| 17:26:18 | brixen | I'll be backfilling some of the data from the past 4 months |
| 17:26:22 | sbryant_work | Makes sense |
| 17:26:29 | brixen | but the jit data will start from yesterday |
| 17:26:37 | brixen | since the jit is really new |
| 17:26:38 | sbryant_work | Ahh. |
| 17:26:47 | sbryant_work | Yeah, been following the commits. |
| 17:27:00 | brixen | for some reason, my cron didn't run last night though |
| 17:27:03 | brixen | nemerle! |
| 17:27:15 | brixen | nemerle: hey, do you have a patch for all the gcc 4.4 fixes? |
| 17:27:42 | sbryant_work | brixen: cool. Thanks for the update. Wish I could help, but I was robbed and they stole my laptop :-\ |
| 17:27:46 | nemerle | sure thing, let me clean it up a bit |
| 17:29:20 | brixen | sbryant_work: wow, that sucks! did they catch them? |
| 17:29:26 | brixen | nemerle: awesome |
| 17:29:33 | brixen | nemerle: also, what distro do you use? |
| 17:29:36 | sbryant_work | brixen: no. |
| 17:29:43 | sbryant_work | And what's worse is that they took the kindle with them |
| 17:29:44 | brixen | sbryant_work: :( sorry to hear that |
| 17:29:49 | brixen | damn! |
| 17:29:58 | sbryant_work | So I have a way to track it but amazon isn't really doing anything for me |
| 17:30:18 | sbryant_work | Yeah it sucks a lot. |
| 17:30:25 | sbryant_work | Especially since everything was brand new. |
| 17:30:34 | brixen | no doubt |
| 17:30:38 | brixen | where were you? |
| 17:30:44 | sbryant_work | I was home sleeping. |
| 17:30:58 | brixen | burglary? |
| 17:31:01 | sbryant_work | Yep |
| 17:31:04 | brixen | jeez |
| 17:31:13 | sbryant_work | The people actually came into the bedroom while I was sleeping |
| 17:31:18 | sbryant_work | Woke me on their way out. |
| 17:31:25 | sbryant_work | Didn't get a chance to see them or anything |
| 17:31:37 | brixen | messed up |
| 17:31:45 | sbryant_work | Yeah it is. |
| 17:31:48 | brixen | I suppose that's when you wish you had a dog |
| 17:31:49 | sbryant_work | It only gets worse. |
| 17:31:56 | brixen | a big dog with big fangs |
| 17:32:00 | sbryant_work | My laptop bag and everything was already packed up. |
| 17:32:20 | sbryant_work | So my preparedness only helped them :( |
| 17:32:34 | brixen | yeah, like a giftwrapped package :( |
| 17:33:25 | sbryant_work | Yeah, my living room is like a grab bag for thieves. |
| 17:33:54 | sbryant_work | But I'll give it another week and then pony up and buy a new one :-\ |
| 17:35:52 | brixen | are you thinking of buying a dog too? |
| 17:36:18 | sbryant_work | No. |
| 17:36:29 | sbryant_work | My friend wants me to get a kitten so her kitten can have a playmate |
| 17:36:36 | brixen | heh |
| 17:36:50 | brixen | cuteness only gets you so far it the world |
| 17:36:54 | sbryant_work | I'll get a guard kitten. |
| 17:37:03 | brixen | you can't lol those bastard thieves away |
| 17:37:08 | sbryant_work | haha. |
| 17:37:29 | sbryant_work | I'm probably going to move into a better neighborhood. |
| 17:37:42 | brixen | whereabouts do you live? |
| 17:37:48 | sbryant_work | I live in Atlanta in a not so nice area. |
| 17:37:53 | brixen | ahh |
| 17:38:16 | sbryant_work | I'm not kidding there's a homeless shelter across the street from me. And on the other street is a rehab center. |
| 17:38:35 | sbryant_work | And the other place across the street is the place where they make the crack for the rehab patients. |
| 17:39:31 | brixen | um yeah, get out of dodge |
| 17:40:12 | sbryant_work | Yeah, a friend is moving here from Germany in a couple of weeks and I'll probably move then. |
| 17:40:55 | sbryant_work | There are some fancy high rise places that I'm looking at. |
| 17:41:05 | sbryant_work | I just don't want to fork over 2600 a month in rent. |
| 17:41:43 | sbryant_work | likes to save money |
| 17:41:49 | brixen | yeah, that's spendy |
| 17:41:58 | brixen | at least in portland |
| 17:42:13 | brixen | you can get a pretty big place in the the most expensive part of downtown for that |
| 17:42:18 | brixen | in a highrise |
| 17:42:43 | sbryant_work | That's neat. I need to get out to Portland. |
| 17:43:07 | sbryant_work | Midtown isn't the cheapest but it's not the most expensive by a longshot. |
| 17:43:17 | nemerle | brixen: i'm on debian squeeze/sid |
| 17:43:28 | nemerle | brixen: http://www.nemerle.eu/gcc_4.4.diff |
| 17:43:57 | brixen | nemerle: awesome |
| 17:44:12 | brixen | I'm trying to get my ubuntu vbox running 4.4 |
| 17:45:07 | nemerle | brixen: there is also a problem with threads ( mspec-ci fails ), but that one might be a 'bit' harder for a newb such as me, to find/fix :) |
| 17:45:52 | brixen | yeah, there are some issues with threads |
| 17:46:09 | brixen | I was seeing a sporadic hang on Thread#wakup on a deb machine |
| 17:46:58 | nemerle | that one, as well as assertion caused by EAGAIN ( resources exhausted ) on the deadlock thread spec |
| 17:47:09 | brixen | interesting, ok |
| 17:47:36 | nemerle | but when running only that specific spec it ran ok |
| 17:47:56 | nemerle | so it looks like threads just don't die :) |
| 17:48:08 | brixen | yeah, those failures can be a bitch |
| 17:48:45 | sbryant_work | could it be a signal causing all conditionals to wake up? |
| 17:49:21 | brixen | well, evan fixed a race that was causing an issue with a mutex yesterday |
| 17:49:42 | brixen | this is what I saw last night http://gist.github.com/131156 |
| 17:49:57 | brixen | so, looks like it could be a similar issue |
| 17:54:36 | sbryant_work | brixen: did you check the other threads? |
| 17:55:04 | brixen | nah, it was 2am |
| 17:55:18 | brixen | I just grabbed some bts |
| 17:55:23 | sbryant_work | ahh |
| 17:55:54 | brixen | crap, distclean cleans llvm too :( |
| 17:55:58 | brixen | we'll have to fix that |
| 17:56:41 | brixen | hm, shouldn't have set RBX_LLVM |
| 19:09:46 | boyscout | Fix indent - 397faf1 - TAKANO Mitsuhiro |
| 19:12:17 | brixen | evan: so, I accidentally ran rake distclean with RBX_LLVM=1 on os x and while building got the error at the top http://gist.github.com/131399 |
| 19:12:29 | brixen | I think the diff at the bottom is a better way to handle it |
| 19:12:46 | brixen | or add -D__STDC_xxx to FLAGS in vm.rake |
| 19:12:52 | brixen | what do you think? |
| 19:13:06 | evan | thats fine |
| 19:13:13 | evan | those -D's i think came from llvm-config by default |
| 19:13:14 | brixen | I can't repro the path to it, frustratingly |
| 19:13:29 | brixen | yeah, but for some reason are not defined in a certain path |
| 19:13:35 | brixen | and I can't figure out which |
| 19:13:39 | boyscout | CI: 397faf1 success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors |
| 19:13:42 | evan | hm. |
| 19:13:56 | brixen | so, use the #ifndefs or add -D to vm.rake? |
| 19:14:07 | evan | kendall :: git/rbx ยป vm/external_libs/llvm/Release/bin/llvm-config --cflags |
| 19:14:07 | evan | -I/Users/evan/git/rbx/vm/external_libs/llvm/Release/include -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3 -fno-common |
| 19:14:18 | brixen | yeah, I grepped and saw those |
| 19:14:22 | evan | lets just be sure we're getting all those flags in |
| 19:14:30 | evan | we should be getting them |
| 19:14:38 | evan | and not need to hardcode them ourselves |
| 19:14:41 | brixen | yeah |
| 19:14:56 | brixen | it happened both times rebuilding llvm completely |
| 19:15:00 | brixen | on os x and elle |
| 19:15:15 | evan | oh |
| 19:15:17 | evan | you know what |
| 19:15:23 | brixen | I can't get it to happen by building llvm partially (ie removing an llvm lib) |
| 19:15:26 | evan | i'll bet it's happening trying to compute the deps... |
| 19:15:35 | evan | vm.rake makes me cry. |
| 19:15:35 | evan | sigh. |
| 19:15:35 | brixen | ah could be |
| 19:15:39 | brixen | yeah |
| 19:16:40 | evan | hm, yeah, it should be using all of --cflags |
| 19:16:47 | evan | except for -O |
| 19:24:29 | brixen | evan: hm, the updating deps code explicitly adds those macros |
| 19:24:58 | brixen | argh, I wish there was a way to repro this without the process taking 30 min |
| 19:34:15 | brixen | builds llvm for the 3rd time today |
| 19:34:36 | evan | :( |
| 19:37:23 | brixen | hm pragprog has a new book in beta 'Debug It!' |
| 19:37:28 | evan | oh? |
| 19:37:37 | brixen | yeah |
| 19:37:44 | brixen | I think I'll get it |
| 19:37:54 | evan | url? |
| 19:38:18 | brixen | http://www.pragprog.com/titles/pbdp/debug-it |
| 19:38:38 | brixen | ohh heh, chapter "Teach Your Software to Debug Itself" |
| 19:38:41 | brixen | sold! |
| 19:39:17 | brixen | rbx --debug-yourself core-file :) |
| 19:39:56 | evan | --fire-it-out-yourself-jerk |
| 19:39:57 | evan | er. |
| 19:40:04 | evan | --figure-it-out-yourself-jerk |
| 19:40:10 | brixen | heh |
| 19:40:25 | evan | rolls his eyes at his own hands |
| 19:40:41 | evan | 's hands give his eyes the finger |
| 19:40:49 | brixen | haha |
| 19:41:36 | brixen | it's this damn primitive tech, we should all be holograms in a room by now |
| 19:42:00 | brixen | where's my hoverboard?! |
| 19:43:37 | scoopr | and transparent aluminum |
| 19:44:48 | evan | and whale aliens! |
| 19:44:55 | evan | oh wait, thats startrek 4. |
| 19:45:16 | brixen | this looks interesting too http://www.pragprog.com/titles/tpdsl/language-design-patterns |
| 19:59:03 | evan | shouldn't rake's file tasks be recursive? |
| 19:59:20 | evan | b has c as a prereq, a has b as a prereq |
| 19:59:24 | evan | c changes, a should be rebuilt |
| 19:59:35 | brixen | you'd think |
| 20:00:16 | evan | ok, rake doesn't do that |
| 20:00:23 | evan | and i think thats the source of a lot of frusteration |
| 20:01:28 | boyscout | Fixed the shebang on the bench cron script. - 4baaa76 - Brian Ford |
| 20:01:28 | boyscout | Patch from nemerle for GCC 4.4. - 0f637e4 - Brian Ford |
| 20:01:28 | boyscout | Better fix for LLVM needing __STDC macros. - 926be1c - Brian Ford |
| 20:02:00 | brixen | evan: committed nemerle's gcc 4.4 patch, I think it warrants a commit bit |
| 20:02:09 | evan | ok |
| 20:02:16 | evan | nemerle: let me know your github info |
| 20:02:33 | brixen | I still don't have gcc 4.4 to test, but it doesn't break anything on os x or elle |
| 20:03:33 | evan | ok |
| 20:04:52 | brixen | dist upgraded my x86_64 ubuntu vbox so I'll install 4.4 on that |
| 20:05:12 | evan | cool |
| 20:06:09 | brixen | off to the conf, not sure how good wifi will be, but I'll probably be around |
| 20:06:18 | boyscout | CI: 926be1c success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors |
| 20:06:36 | evan | no prob |
| 20:06:37 | brixen | I'll be running benches on elle to backfill those graphs |
| 20:06:37 | evan | have fun! |
| 20:06:42 | brixen | thanks! |
| 20:42:11 | dgtized | where are the benchmark graphs going? just in the repo or on the web somewhere? |
| 20:42:34 | evan | bench.rubini.us |
| 20:43:21 | slava | yo evan |
| 20:44:11 | evan | yo yo |