Index

Show enters and exits. Hide enters and exits.

00:17:42evani'm back!
00:17:59brixenwb evan!
00:18:37evanshane and I shoke off the mondays and went to a lunchtime movie
00:18:42evanand wow was it terrible!
00:18:48brixenin your absence luislavena decided that ascii pr0n app would be the killer app for rbx
00:19:01brixenheh, what movie?
00:19:02evanrad.
00:19:04evan+1
00:19:14brixenbut only on win64
00:20:50luislavenaevan: hey evan, what movie did you watched?
00:20:59evandaybreakers
00:21:10evana vampire movie with Ethan Hawke
00:21:18evanwhich could have been good.
00:21:44evancould have a fun scifi movie about what would happen if vampires became the dominant force in the world
00:22:00evanbut no, they had to go cheezy horror after they intro'd with a little scifi.
00:22:35luislavenaevan: nah, movies are very disappointing lately...
00:22:56evanoh, i wasn't disappointed
00:23:07evani expected terrible!
00:23:35evananyone speak czech?
00:23:43evangoogle translate fails on the word "pomaleší"
00:24:32botanicusevan: yeah, me
00:24:36botanicusevan: slower
00:24:43evanok, i figured it was so.
00:24:44evanjust curious.
00:26:27luislavenadoes anyone know where kirk haynes uses to hang out? (on IRC I mean)
00:29:16brixenyou mean channel or nick?
00:29:21brixenhe's in #rubyspec
00:29:33brixenwyhaines
00:29:47luislavenabrixen: both things, thank you.
00:29:54brixenluislavena: n/p
00:48:50evani think i found the vmmethod leak.
00:48:54evanworking on it now.
00:49:03brixennice
00:49:12evanin other news
00:49:24evani have to stop using TypedRoot<> to solve random problems :?
00:49:25evan:/
00:50:26brixenhm, I didn't realize you were solving random problems with it
00:51:04evanwell, it's used too much.
00:51:12evanand is keeping important garbage from being collected.
00:51:20evani'm solving the problem now. :)
00:51:39brixenI see
00:52:16brixenso there are things we are stashing in roots that need to not be roots?
00:52:35evanin this case (and i'm only about 75% sure at this point)
00:52:53evanVMMethod has a TypedRoot<> for the original CompiledMethod it's for
00:53:12evanwhich means that CM is only cleaned up when the VMMethod is deleted
00:53:15evanso when is a VMMethod deleted?
00:53:16evanNEVER!
00:53:18evan(oops)
00:53:36brixenok
00:53:51evanso I made it so VMMethods are cleaned up (before i found this bug) and was confused why it didn't make a difference.
00:53:59brixenbut is that an issue of using a TypedRoot or not cleaning up VMMethods?
00:54:05evanboth really.
00:54:19brixenok, then I'm following I think
00:54:31evananytime a TypedRoot<> is used, the lifetime of the TypedRoot<> must be carefully considered.
00:54:37brixengotcha
00:54:53evanotherwise it will keep parts of the object graph alive too long.
00:55:01brixenyeah, makes sense
00:55:01evan(or forever)
00:55:04evanOOH
00:55:08evanVAMPIRE TYPEDROOTS!
00:55:11evantaking over1
00:55:11evan!
00:55:14brixenheh
00:55:25brixenSharpenedStakes to the rescue
00:56:10evanhah
00:56:15evananywho
00:56:21evanthis is good
00:56:32evanbecause this is pushing down a refactoring i've wanted to do for a while anyway
00:58:30brixencool
02:37:43slavahi y'all
02:39:00rueHi one
02:43:06brixenhey slava
03:48:59ruebrixen: The problem is not quite as severe there, but apparently LED lights shone through the ear canal directly into the brain almost completely removes effects of depression caused by lack of sunlight
04:16:55kronos_vanoYep, one more spec fixed!
04:17:10rueThere was a spec for that?
04:19:47kronos_vanorue, http://pastie.org/774519
04:21:34rueAh! Something different ;)
04:22:16kronos_vanonow '% u' % -25 work properly
04:22:21kronos_vano*works
04:27:44rueMhm, is the space just ignored?
04:28:10kronos_vanoyes
06:49:09brixenrue: oh interesting! they should integrate the LEDs with ipod earphones
07:01:04alexsuraciare chained blocks simply impossible in ruby, or is it just sort of a syntax limitation? for example I wrote a method that would be used like choice { foo } { bar }; it would try blocks until it runs out or until one succeeded
07:01:35alexsuracitrouble is MRI doesn't seem to accept the syntax. i'm wondering if that's implementation-specific (sorry to be slightly off-topic, but the people with the brains for that are here I think ;))
07:02:20slavayou have to wrap the block in a Proc, and pass the Procs to the method like ordinary arguments
07:03:23alexsuraciI could do that, but I was more wondering specific to blocks. This is a parser combinator library so I wanted to try making the syntax as simple as possible, with the primary point of the blocks to just be delaying evaluation
07:03:54slavawhat about lambda syntax?
07:03:59alexsuraciI *think* the implementation of the method itself is fine, but the syntax is rejected so I can't really test
07:04:14slavablocks are one of ruby's weak points unfortunately
07:04:42alexsuraciI wanted to avoid that too for the same reason (not a *huge* deal having ->{} instead of just {}, but it's a bit nastier)
07:11:17brixenalexsuraci: matz has said he hasn't found a simple enough syntax for multiple blocks and their use cases are quite limited so he's not really interested in adding them
07:15:11alexsuracibrixen: ah, ok. I guess the parser has a certain set of things that look valid for blocks to be passed to? I was thinking that was all determined at runtime, but I guess not.
07:16:32brixensyntax is well before runtime
07:21:44alexsuraciright, I just didn't think valid targets for blocks were limited/determined at that level, e.g. something that returned returned something that took a block could be called with successive blocks
07:22:14alexsuraciexample: def foo; if block_given? then yield; foo; end end, I expected to be able to do something like this: (foo { puts "foo" }) { puts "bar" } (perhaps without the parens)
07:22:20brixenthat would be interesting but no, it doesn't work that way
07:23:19alexsuracialright. thanks for clearing it up and please excuse my rambling. :)
07:23:24scooprfoo(proc {a}, proc {b}) ..
07:23:30brixenalexsuraci: n/p
08:18:29dbussinknetsplit party!
08:19:10brixensplitazas
08:19:21brixenthat's like a martini or something
08:25:38dbussinkbrixen: with ice cubes please
08:34:44slavahi brixen
12:52:25danlucraftquestion: when rbx moved to github, did you keep the open commit bit policy?
12:52:34dbussinkdanlucraft: yeah
12:52:54danlucraftdbussink: but using evanphx's github repo?
12:53:24dbussinkdanlucraft: although brixen was rethinking it a bit for rubyspec, to only give it if a patch doesn't need any changes afterwards for style concerns etc.
12:53:30dbussinkdanlucraft: yeah, that's the main repo
12:53:46dbussinknot actively using forks / pull requests
12:54:53danlucraftso do you still have to have a patch accepted first
12:54:54danlucraft?
12:55:24dbussinkdanlucraft: yeah, that's still the policy
12:55:31dbussinkdanlucraft: why the questions if i may ask?
12:57:42danlucraftjust wondering about doing the same for redcar
12:57:55danlucraftit's a little bit different on github because it's so easy to fork
12:58:34danlucraftI know the padre guys have the same policy
12:58:47danlucraftand when you're on svn, it's *serious* :)
12:59:33dbussinkdistributed vc makes it a lot easier for people to play
12:59:56dbussinkredcar editor?
13:00:01danlucraftyeah
13:00:03danlucraftand yeah
13:00:26dbussinkwell, it depends on different things imho
13:00:50dbussinkif they would do it with rails it would go out of control i guess
13:01:09danlucraftit's for encouraging people to get involved I guess
13:01:10dbussinkbecause of it's nature, rubinius has a higher entry bar which filters a lot of the crap i think
13:01:19danlucraftyes, I was thinking that
16:56:50evanmorning
16:57:06danlucraftmorning
16:57:16danlucraftdid you get a chance to look at that rak benchmark?
16:57:32evangoing to today hopefully
16:57:37evanbeen hunting a memory leak
16:57:39danlucraftcoolio
16:57:55evanI suspect we've got something pathalogical in there to fix
16:58:00danlucraftit's pretty heavy on the IO.
16:58:00evanthat was the case with pathname
16:58:13danlucraftthough there's a smidgen of metaprogramming in the main path too
16:58:32evanof what kind?
16:58:41danlucrafthang on, I'll show you it's pretty simple
16:58:46evank
16:59:19danlucraftit's a grep style program right?
16:59:31tenderloveevan: morning
16:59:47tenderloveevan: it's not so exciting in here
16:59:56evandanlucraft: yep
17:00:00evani'm famaliar with what it does
17:00:07danlucraftevan: so there are lots of options that don't change for every line of every file.
17:00:09danlucraftso I did thi: http://github.com/danlucraft/rak/blob/master/bin/rak#L539
17:00:18danlucraftand it sped it up about 50%
17:00:33evanah yeah, i saw that
17:00:37evani looked at this code a while back
17:00:41danlucraftpretty simple
17:00:46evanthis is only run up front though, yes?
17:00:50danlucraftyep
17:00:50evannot every file
17:01:10evanwe'll take a hit at the beginning
17:01:25danlucraftyep
17:01:26evanbut the bulk of the work should outweigh that
17:01:32evanprofiling will show.
17:01:37danlucraftyep
17:01:53danlucraftthe latest benchmarks are very impressive in general though.
17:02:40evanyeah! they show potential
17:02:57evanso we need to tune and shape code algorithmicly more now
17:03:02evanwhich is a great position to be in
17:03:27rueHmorgenborgen
17:03:37evanis that a place in sweden?
17:03:40danlucrafti had no idea it'd come so far
17:03:46danlucraftfalling down on the evangelism?
17:03:48danlucraft:)
17:04:05evanwell, we've just released an rc2
17:04:09evanso you caught wint of it somehow
17:04:10evanoh.
17:04:21rueAww he left
17:04:30rueRak looks interesting
17:04:41DefilerYeah, I added it to my watch list
17:04:45rueHe returned!
17:07:06evandanlucraft: what drove you to try rak on rubinius?
17:07:08rueI think I will try to get some time to work on Rubinius again, probably to no avail...there is indeed a bunch of algo stuff that can be done at this point
17:07:12evansomething we did caught your attention
17:07:23evanyes, we haven't done much evangelism/advertising
17:07:24rueevan: What kind of question is that? Of course he would want to run it on rbx :P
17:07:29evan:)
17:07:37danlucraftI've been trying rak on rubinius since I first hacked on rubinius and rak was my only release open source project :)
17:07:49danlucraftthat was back in 2007 or something
17:07:57danlucraft2008
17:08:00danlucraftsometime
17:08:20evanok
17:08:26evanyou were saying you had no idea
17:08:30evanso did you just randomly try again?
17:08:36evanor did the release of rc2 spur you on?
17:08:39danlucraftno, it was rc2
17:08:42evanok
17:08:44danlucraftI tried it again
17:08:58danlucraftI meant, those great benchmarks I saw somewhere last week were news to me
17:09:11evanwhich did you see?
17:09:13danlucraftand I think I just came across them because someone mentioned them in the jruby channel
17:09:21danlucrafthmm
17:09:34rueIf the benches hold up, I can use those to my advantage maybe..
17:10:01danlucraftthese ones: http://rvm.beginrescueend.com/benchmarks/2010-01-06/
17:11:08evanok
17:11:21evanit's important that benchmarks are released by some external party
17:11:33evanof which wayneeseguin qualifies.
17:14:36evanthere will be a time when we shout about our performance from the rooftops
17:14:41evanwe're just not there yet
17:15:17rueAre we there yet?
17:15:33evannot yet my friend.
17:15:33brixenwhat's all this shouting about
17:15:43brixenjoins the morning crowd
17:15:45evanGet off my lawns damn kids!
17:15:48brixenheh
17:17:13brixenmm Kernel.abort specs... these should be tasty
17:18:35evanheh
17:37:55botanicusevan: Hi, I'm just wondering if you have few secs to take a look at my commits (I sent you a pull request). I just want to ensure I'm doing it right.
17:38:20evansure
17:39:54evanthe changes look ok, but I don't see any spec changes
17:42:31botanicusevan: that's right, I wasn't sure what should I change?
17:42:48botanicusevan: I'm a bit confused, as I understand, rubinius has its own specs + rubyspec?
17:43:10evanthats correct
17:43:15evanwe sync in rubyspec
17:43:27evanon the one_nine branch, the sync'd rubyspecs are in spec/frozen
17:43:44evanwe should discuss with brixen how he'd like you to update the specs
17:43:54evansince we haven't dealt with spec changes on a branch before
17:44:03botanicusevan: OK, so if I'm doing changes just in kernel, what I should change?
17:44:16evanwe need to discuss with brixen
17:45:00botanicusOK
17:45:22brixenum le'me finish these Kernel.abort fixups
17:45:27brixenand I'll sync one_nine
17:45:43brixenshouldn't be long
17:46:12brixenone_nine needs to have a bunch of stuff update actually
17:46:24brixenconfig, rakelib, mspec, specs...
17:47:43evanyeah
17:47:52evanshall we just git merge it over?
17:48:01evanshould be ok
17:50:48brixenevan: hm, I suppose we could
17:50:57brixenI didn't want to mess up any of marcandre's work though
17:51:04brixenwill git merge handle that correctly?
17:51:06evanyeah
17:51:09brixenk
17:51:16evanbut i don't want us to spend a few days trying to redo changes on it
17:51:26brixensure
17:51:57marcandreif you have trouble rebasing one_nine, just let me know and I'll fix it.
17:52:30brixenhmm, well now I'm confused
17:52:33marcandreevan: btw, the new version with the catch and throw is quite nice. Nicer then I could make it with an exception
17:52:46evanok, i'll look at it.
17:54:06botanicusmarcandre: could you send a link pls? I'd like to see where catch/throw is nicer than exception.
17:56:04rueThey have different purposes
17:56:17marcandrebotanicus: It's in common/thread.rb, the detect_outermost_recursion method. Caution: recursion can mess with your sanity.
17:56:23rueAlthough in almost all cases, I would be happier if catch/throw did not exist
17:57:10botanicusmarcandre: thanks
17:57:19botanicus:)
17:57:25botanicusresursion is great
17:57:45botanicusrue: me too, that's why I'm interested in marcandre's example
18:00:36marcandreThis example is a bit peculiar. That method is only used in Array/Hash/Struct#hash and what it has to do is a bit ugly.
18:17:08rueI did implement a POC brute conditional compilation using catch/throw
18:19:04evanPOC?
18:19:18brixenproof of concept
18:19:29evanah yes.
18:19:39brixenI'm assuming
18:40:02rueYes
18:40:13rueConveniently also piece of crap
18:41:17brixenheh, oh I remember that now
18:41:46rueIt worked is probably the best thing that can be said of it
20:00:06brixenmarcandre: I don't mean to be an ass, but seriously wtf @ this line http://bit.ly/5npJii
20:00:19brixenlocal vars are not evil
20:00:21brixenplease
20:00:33evanUG
20:00:34marcandre:-)
20:00:34Defileroof
20:00:38DefilerThat method is gnarly
20:00:43brixenyes, it is
20:01:12evanand it's extra slow
20:01:23evanall the splating and turning back into arrays
20:01:59DefilerYou could avoid some more work by changing the partial_product + [obj] thing too
20:02:04brixenmarcandre: I got a merge conflict on that method, I'm going to leave it for you to fix up
20:02:04marcandreevan: It has to produce new arrays, though, no?
20:02:21evanyeah, it does
20:02:27evanthis method must go
20:02:30evanunless
20:02:48marcandrebrixen: no problem.
20:02:58evanthere is about twice as many comments as there is no
20:03:01evanone before each line
20:03:04evanbecause i can't follow this.
20:03:07DefilerI'll bet it would be faster to dup 'arg' and then modify it in place thereafter
20:04:18marcandreDefiler: probably, since it would avoid creating the temporary array [obj]
20:04:23evanno more code golf.
20:04:25evanplease
20:04:28evanfor the love of pete.
20:04:33brixenheh
20:04:46DefilerIt would avoid two array contructions for every array element actually
20:05:02Defilerthe one from [obj] and the one for the new array that results from partial_product +
20:08:05evanpretty sure this algorithm is untenable for anything but a small data set
20:08:16evanif there is an enumerator for every combinination
20:08:21marcandreActually, this is an old version. I rewrote it with lambdas, dup and push
20:08:22brixenmarcandre: aside from the other various things, I'm specifically objecting to breaking on the method call .
20:08:23evanthen calling this on an array with 100 elements
20:08:25DefilerI've been trying to figure out the complexity order of it and it is hardcore
20:08:26evanwill use up all memory.
20:08:43brixenmarcandre: that is a horrible style for the reader tracking the left side of the code block
20:09:51brixenmarcandre: especially since Array#inject exists and that looks like a self send
20:10:28evanoh shit.
20:10:33evani thought it was a self send
20:10:34evanFAIL.
20:10:37brixenthe end pairing is then totally fucked
20:10:44brixenyeah, it really threw me
20:11:20evanyay! solved the VMMethod leak.
20:11:24brixenI mean, I know you can do this, but please, don't do it
20:11:28brixenevan: woot!
20:11:37evanspec run with JIT on before: 360M
20:11:41evanafter the fix: 216M
20:11:47brixenawesome!
20:12:13evanstill got a little more work to do on it
20:12:14marcandrebrixen: the link you gave me, is that in the one_nine branch?
20:12:20brixenmarcandre: yes
20:12:34dbussinkevan: w00t :)
20:12:35marcandreOk. I forgot to copy paste the newer version (in trunk)
20:12:36marcandrehttp://github.com/evanphx/rubinius/blob/master/kernel/common/array.rb#L1065
20:13:05brixenmarcandre: ok, want me to just paste that in?
20:13:27marcandreyup
20:13:48evanthis algorithm has the same problem
20:13:48brixenmarcandre: k
20:13:56evanit's exponential isn't it?
20:14:05evanany usage on a large data set will use all memory
20:14:05marcandreevan: so what is the issue, then?
20:14:29evanwell, the issue is that it should not use all memory.
20:14:57marcandreThe algorithm itself uses n arrays of size 0..n
20:15:31marcandreThe result size is much bigger than that, and there's nothing I can do about that, no?
20:15:34evan[self, *args] should just be args.unshift self
20:16:01marcandrethat's fine
20:16:45marcandreI still don't get the memory issue.
20:16:56evani think this might be ok
20:16:58evani'm trying to follow it
20:16:59evan:/
20:17:25Defilerwhy does this reverse before inject?
20:17:26evanlets see, give an array with N elements
20:17:34brixenmarcandre: did you update the CI tags before? I'm getting hundreds of E/F with mspec ci
20:17:36dbussinklooks like O(n^2) to me
20:17:41evanthere will be N lambdas
20:17:44marcandreDefiler: the reverse is so that we iterate on self last, not first
20:17:51dbussinkand i doubt that it can be lower in complexity
20:18:09DefilerWhy not just put self at the end of the array?
20:18:13evanand N^2 arrays created
20:18:42evanyes
20:18:49evanary.push(self).inject()...
20:18:57marcandreDefiler: well, more explicitely, we iterate on the last given argument first. It's up to the implementation, but I'm following MRI here
20:19:13Defilerso, wait.. the inject memo starts with a method object?
20:19:28Defilerand then gets replaced with a new lambda every time?
20:19:54marcandreYup. Kind of a recursive method.
20:19:56evanmarcandre: i'm fine ditching the reverse
20:20:07evanthe order of the output should not matter.
20:20:13marcandrePersonally I find that pretty cute, but tastes vary :-)
20:20:22evani find it pretty obtuse.
20:20:31evanand Method#call is not exactly fast.
20:21:19marcandreWell, another would be a recursive function (which is equivalent to #call) or else it gets de-recursified and that I find ugly.
20:22:26Defilerhttp://gist.github.com/275563
20:22:34Defileris what I would expect the first part of this method to look like
20:22:42evanhttps://gist.github.com/e810d93314e507cd4aa5
20:23:01evanthats much closer to the style i'd prefer
20:23:07Defileryou want arg = arg.map right?
20:23:11marcandreLooks good
20:23:31evanDefiler: nah, it's the splat
20:23:35evanso the method owns it.
20:23:46evanmarcandre: you going to make the change?
20:23:48evanor should I.
20:24:02marcandreI'll do it if you want
20:24:12evanok, thanks.
20:24:51marcandreand I'll update the one_nine branch (as I should have previously...)
20:24:55evank
20:25:10Defilerevan: Oh, excellent point
20:27:21marcandreDamn, the doc doesn't state explicitely that the order is implementation dependant. It's #combination that does.
20:28:02marcandreI'll keep the reverse for now, then.
20:29:54brixenevan: can you set up CI reporting on one_nine of we'er going to have ppl working on it, pls
20:33:36evanyeah
20:34:05evanwrt the ruby-core pluggable GC discussion:
20:34:25evanit's like people are stating "the only thing thats holding MRI back from an awesome GC is that there is no pluggable interface!"
20:34:32evannever mind that thats the EASIEST part
20:34:41evanthey're glossing over actually writing the GC.
20:34:53brixenheh, yeah
20:35:14DefilerIt's like when people basically come claim that they would happily contribute <insert freaking difficult thing here> if our docs were better.
20:35:26brixenno one has a GC to plug in, but if you put the receptacle there, one will magically appear
20:35:29DefilerDude, if you are blocked by the docs, you didn't have a chance at <difficult thing>
20:39:45dbussinkthere are dozens of GC's out there, we could just plugin in any one and it wil work!
20:39:51dbussinki don't understand what's so hard!
20:40:21evanwe should be able to do as a weekend project!
20:41:09dbussinkevan: gosh, you need a whole weekend for that? pfff
20:41:19evanheheh
20:41:30ZoxcI could plugin in the Boehm GC in mirb pretty quick, even without an API :D
20:41:33brixenfriday night, coupla beers, done!
20:41:45evanZoxc: thats the point of Boehm, there is no API!
20:42:00Zoxcthere's the Boehm GC API?
20:42:29DefilerThat's kinda the whole point of conservative collectors in general, right?
20:42:34evanZoxc: this discussion "couldn't we have a GC plugin API so I could choose between reference counting, or accurate generational?"
20:42:42evan"also, could I have it hotswap via gems?"
20:42:49evanZoxc: nope!
20:42:54evanwell, there is
20:42:57evanGC_MALLOC rather than malloc.
20:42:59evanbut thats it.
20:43:08ZoxcTinyGC and Boehm GC shares an API =P
20:45:51evanhehe
20:46:37Zoxcwhat platforms can rubinius run on?
20:47:12evanany unix platform atm
20:47:15brixenall reasonably good platforms
20:47:21brixenoh, I mean unixy ones
20:47:27evanbut thats only because we haven't taken the time to port any APIs to non-unix
20:47:35evanthere is nothing unix or platform specific
20:47:43evanno memory tricks, etc.
20:48:29ZoxcI was thinking of running it on ARM :)
20:48:45dbussinki think there have been people who tried that
20:49:00dbussinkcompiling llvm on a small box is going to be a pita though :p
20:49:19dbussinkevan: btw, that reminds me, i've uploaded a new version of the llvm x86_64 linux prebuilt
20:49:27Zoxcrubinius doesn't like cross compiling? =P
20:49:27evanwhy?
20:49:36dbussinkwhich is compiled with gcc 4.1, which seems to work with newer versions but not reverse
20:49:37evanZoxc: i don't follow.
20:49:54dbussinkevan: this actually followed from that guy trying on centos
20:50:03dbussinkmy gcc 4.3 debian build didn't work there
20:50:13dbussinkso i built it there and tried that one on my debian box
20:50:14evanwell shit
20:50:15dbussinkwhich did work
20:50:21evanis the uname different though?
20:50:25dbussinknope
20:50:30Defilerevan: Hey, I watched your talk from the LLVM thing in October the other day.. did anything ever come out of the discussion about how to package LLVM in an open source project?
20:50:32evanthen it won't help.
20:50:39dbussinkit's all x86_64-unknown-linux-gnu
20:50:41evanbecause it will probably break other people
20:50:45DefilerOr is what rbx does now the result of that discussion?
20:50:56evanDefiler: nope.
20:51:34dbussinkevan: well, from what i've tested with systems is that it does work if you have a 4.1 compiled version with a 4.3 compiled rubinius but not the other way around
20:51:49dbussinkevan: so this version most likely works for more configurations
20:52:16evanwe should actually find out first
20:52:51dbussinktrue, my sample size is pretty small i admit
20:53:00evanplus you're saying 4.1 LLVM works with 4.3 RBX
20:53:07dbussinkyeah
20:53:07evanwouldn't that mean that 4.4 LLVM won't work with 4.3 RBX?
20:53:14evanso we would not want to change it.
20:53:23dbussinkwe have a 4.3 llvm build now
20:53:31evanoh, you compiled against 4.1
20:53:32evangotcha.
20:53:33evanhm.
20:53:42dbussinkexactly
20:53:50evani don't like the confusion.
20:54:12dbussinkwell, another option is no prebuilts for linux
20:54:21dbussinkor include the gcc version or something in it
20:54:41evanyeah
20:54:42Defilergcc's compatibility is just.. great.
20:54:43evani'm thinking maybe that.
20:55:15dbussinkDefiler: well, looks like it's compatible one way, but i'm sure there's some situation where it breaks
20:55:50DefilerProbably, yeah
20:56:47evani need lunch.
20:56:49evanbbiab.
20:57:02evanalso, i was wrong about the memory improvement.
20:57:04evanle sigh.
20:57:37dbussinkputs the champagne back into the fridge
20:58:00dbussinkit will come out some day though!
21:01:51dbussinkevan: Office 2010: The Movie might cheer you up ;)
21:01:52dbussinkhttp://www.youtube.com/watch?v=VUawhjxLS2I
22:14:32rueIs it the U.S. "Office"?
22:16:21rue*sigh* getmail has been off for a day :/
22:18:49rueEffing launchd
22:26:23evanok, i do have some memory fixes
22:26:37evanthey just don't appear to go as far as I'd like yet.
22:26:44evanbut i'm going to commit them anyway
22:26:52brixencool
22:27:00brixenI almost have a clean CI on one_nine
22:27:08evanrad.
22:28:09brixenI'm making some empty stubs for Encoding to make it easier
22:28:22brixenso there are not exceptions during before/after actions
22:29:19brixenthe syntax issues will just get excluded in the .mspec config files for now
22:29:33brixenand those are updated to run the 1.9-specific libs
22:29:45brixen*libs' specs
22:29:45evank
22:30:00brixenso we can have a clean CI report
22:52:48brixenthat was, kernel panic while running the specs
22:52:55brixenprobably not related
22:55:06evanfun!
22:55:35brixenheh
22:56:51evanhm, is boyscout not working?
22:57:18evanoh, where is he?
22:59:42brixenok, that's two in row
22:59:55rueAh, awesome, the GC thread just keeps getting better
22:59:59brixenmaybe I'll try running the specs with no ff running
23:00:46rueI tried politely saying to forget it and to target more modern platforms but it seems that did not have any effect
23:03:56boyscoutCI: rubinius: 945145d successful: 3024 files, 11747 examples, 35948 expectations, 0 failures, 0 errors
23:04:15evanrue: yeah. the direction it's taken is pretty comical now
23:04:53evansort of like "the only reason i'm not building this nuclear power plant is that you guys can't tell what color it should be! once you tell me that, i'll build it."
23:06:21rueYes, and if they just wore gloves they would not need to build the plant. That is the part that puzzles me
23:07:00evan"my hands are cold! Can you put a nuclear heater in my coat pockets please?!"
23:10:35BrianRice-workGC thread?
23:10:46evanBrianRice-work: on #ruby-core
23:10:50evanthe mailing list
23:11:02BrianRice-workoh, I was looking at the google group
23:31:40evanwell, this is good
23:31:50evanI did figure out how to save 100M on a full spec run.
23:31:59evannot exactly the direction I was taking
23:32:03evanbut a good one anyway
23:32:04evan:)
23:33:58brixensweet
23:39:28boyscoutDelete IR after JIT'ing unless -Xjit.debug - 94817d4 - Evan Phoenix
23:40:27brixenahh
23:42:24evani guess unladden swallow already knew this trick
23:42:26evanbut they didn't tell me!
23:43:21brixenthat's mean!
23:43:40brixencan't trust those pythonistas heh
23:43:43evanhehe
23:44:44boyscoutCI: rubinius: 94817d4 successful: 3024 files, 11747 examples, 35948 expectations, 0 failures, 0 errors