Show enters and exits. Hide enters and exits.
| 13:58:57 | thelinuxlich | is there any caveat with dynamic methods in rubinius? |
| 13:59:22 | thelinuxlich | I have a method running with the method_missing stuff that fails asking one more argument |
| 13:59:33 | thelinuxlich | only in rbx |
| 14:00:35 | thelinuxlich | oops, the method receives 2 arguments, but rbx sends 3 |
| 14:06:40 | kronos_vano | thelinuxlich, provide the sample of code pls |
| 14:15:17 | thelinuxlich | ok I'll simplify it here, but is define_method behavior different from MRI? |
| 14:22:26 | thelinuxlich | kronos_vano, http://www.pastie.org/1050433 |
| 14:25:12 | thelinuxlich | looks like rbx doesn't love splat operator |
| 14:32:51 | cremes | thelinuxlich: i suggest opening a github issue so this doesn't get lost/forgotten |
| 14:33:12 | cremes | include your pastie along with the output from uname -a and rbx -v |
| 14:40:20 | thelinuxlich | cremes, okay! |
| 14:41:08 | cremes | and give the issue a descriptive name :) |
| 15:27:34 | kronos_vano | :/ |
| 15:27:35 | kronos_vano | if(required > 1 && (size_t)required != args.total()) |
| 15:27:43 | kronos_vano | block_as_method.cpp |
| 15:31:42 | thelinuxlich | kronos_vano, define_method stuff? |
| 15:33:07 | kronos_vano | thelinuxlich, BlockAsMethod::block_executor |
| 15:40:33 | kronos_vano | thelinuxlich, it checks that passed params count shoud be equal to required params count. but it is wrong in our case. I've changed "=" to ">=". tests are running now... |
| 15:42:40 | kronos_vano | hm. seems like it works. |
| 15:44:53 | kronos_vano | https://gist.github.com/79d86495eeb5badc2243 |
| 15:47:52 | kronos_vano | ug. no no no it's wrong |
| 15:51:51 | kronos_vano | "Otherwise, it's strict arg checking." |
| 15:52:27 | kronos_vano | evan, why in BlockAsMethod::block_executor method you use strict checking? |
| 16:03:50 | kronos_vano | bbl |
| 16:06:15 | evan | morning. |
| 16:06:20 | evan | kronos_vano: probably just a bug. |
| 16:06:25 | evan | we need to write some specs for that behavior. |
| 16:51:26 | JamesKilton | what's the current state, if any, of making rbx embeddable? |
| 16:52:36 | evan | we haven't done any explicit work on it |
| 16:52:50 | evan | it's a little cumbersome because we don't build a shared library |
| 16:52:57 | JamesKilton | Yeah noticed that |
| 16:53:06 | evan | but you can look at vm/drivers/cli.cpp |
| 16:53:18 | evan | for an example of the API to spin things up |
| 16:53:55 | JamesKilton | yep, been looking through there. So currently building extensions is simply telling the linker to ignore symbol lookup and assume they exist via the rbx runtime? |
| 16:54:32 | evan | well, the linker does that by default with shared libraries |
| 16:54:33 | evan | so yeah. |
| 16:59:31 | JamesKilton | k. Been looking at what it will take to make Rice work with rbx, the tests are currently in C++ and embed ruby to run, i'll have to build a wrapper to run them as an rbx extension then. |
| 17:00:35 | evan | well |
| 17:00:45 | evan | you need to remove all usage of RHASH and RREGEX |
| 17:00:48 | evan | is the main thing |
| 17:00:49 | evan | rice wise. |
| 17:02:00 | JamesKilton | Yeah, been working on that. It's the whole "manage a built-in ruby object" vs "just use the ruby API" |
| 17:02:12 | evan | k |
| 17:02:29 | evan | writing a C wrapper for our startup API should be easy enough |
| 17:02:57 | evan | you'll have to use Environment in a C++ global probably |
| 17:04:14 | JamesKilton | from what I saw, the simplest could just be new Environment(argc, argv); ? |
| 17:04:50 | evan | yeah |
| 17:05:07 | evan | if you'd like some stuff wrapped up |
| 17:05:09 | evan | or improved |
| 17:05:10 | evan | let me know |
| 17:05:12 | evan | or send me a patch |
| 17:05:14 | evan | i'll add it. |
| 17:05:29 | JamesKilton | k |
| 17:23:51 | dbussink | goyox86: did you also add specs for #417? |
| 17:24:10 | dbussink | or are there tagged specs that pass after that change? |
| 17:24:36 | evan | goyox86: also, if you can, please explain more about the bug in the issue |
| 17:24:42 | evan | a link in the body only is poor form. |
| 17:24:44 | slava | hi evan |
| 17:24:50 | evan | slava: hi hi. |
| 17:25:45 | goyox86 | evan: This is just a fix to a tagged failing spec, Kernel.extend was not raising an TypeError when self was frozen |
| 17:25:48 | dbussink | evan: looks like rbx is also faster in antonio's shootout |
| 17:26:04 | dbussink | than 1.8 in general |
| 17:26:08 | evan | goyox86: please still say more. |
| 17:26:21 | evan | ie, indicate if there is a tag that would be removed |
| 17:26:22 | evan | etc. |
| 17:26:38 | evan | or even "Here is a patch: " |
| 17:26:50 | evan | I know it sounds silly |
| 17:26:53 | evan | but i look at so many of them |
| 17:27:02 | evan | the more info in the issue itself |
| 17:27:03 | evan | the better. |
| 17:27:24 | goyox86 | evan: no pro, i'll update the ticket right now :] |
| 17:27:28 | dbussink | putting it in a <pre> block in the ticket would already make it better too |
| 17:27:32 | dbussink | because it's pretty small |
| 17:27:43 | dbussink | and you can see it right away, not having to click through |
| 17:31:58 | dbussink | goyox86: if you can add a patch for removing the tag too, that would be nice |
| 17:32:26 | dbussink | goyox86: and something i'm somewhat anal on is not adding trailing white space |
| 17:32:38 | dbussink | my git diff shows red blurps if i add those :P |
| 17:32:50 | goyox86 | dbussink: i the same ticket? |
| 17:33:04 | dbussink | goyox86: best is probably two patches in one ticket |
| 17:33:15 | dbussink | and explain that change x fixes tagged spec y |
| 17:33:29 | goyox86 | dbussink: oh man sorry for that trailing ws! :( |
| 17:33:40 | dbussink | one ticket == one issue, which can consist of several patche |
| 17:33:42 | dbussink | patches |
| 17:33:53 | goyox86 | dbussink: k |
| 17:36:12 | goyox86 | evan: Ruby.chek_frozen what exactly is? a Primitive? |
| 17:36:19 | evan | a macro. |
| 17:36:27 | goyox86 | Ruby.check_frozen* |
| 17:36:34 | evan | the bytecode compiler detects and expands it out to the check_frozen instruction |
| 17:36:49 | evan | it's only available for use in kernel/ |
| 17:36:56 | evan | it's turned off otherwise. |
| 17:36:59 | goyox86 | evan: k |
| 17:37:48 | goyox86 | evan: There are a lot of this kind of macros? |
| 17:38:04 | evan | a lot? no. |
| 17:38:13 | evan | a few. |
| 17:39:24 | goyox86 | evan: heh, when i said a lot, i meant others :s, sorry for my bad english, i from southamerica ;) |
| 17:41:31 | sbryant | evan: I just saw the new Ruby shootout. And Rubinius' performance is really starting to shine. |
| 17:42:07 | evan | oh? where is the new shootout? |
| 17:42:16 | evan | goyox86: no problem :D |
| 17:42:19 | sbryant | http://programmingzen.com/2010/07/19/the-great-ruby-shootout-july-2010/ |
| 17:42:37 | sbryant | Rubinius is really starting to be competitive. |
| 17:45:04 | evan | hm, something must be up with that primes benchmark |
| 17:46:58 | sbryant | hrrm, either way the people might be all over JRuby and 1.9.2 approaching performance parity, but rubinius is where it's at. |
| 17:47:13 | evan | and I wonder what the errors on the matrix one are.. |
| 17:47:24 | evan | i'll check that out in a bit |
| 17:49:22 | sbryant | alright. I'll take a look if I get a chance, but congrats |
| 17:49:54 | evan | thanks! |
| 17:50:00 | evan | yeah, things are coming along nicely. |
| 17:50:48 | sbryant | It really shows |
| 17:51:11 | JamesKilton | Yeah, when I saw brixen's commits on Array#pack / #unpack, and ran the subsequent benchmarks, I was amazed: http://gist.github.com/475672 |
| 17:51:22 | JamesKilton | that's 1.8.7 vs rbx 1.0.1 |
| 17:51:55 | goyox86 | evan: nice thing about rbx is that when you improve some kernel functionality the overall system sees the benefits :] |
| 17:52:07 | evan | yep! |
| 17:52:30 | goyox86 | evan: are you now focused on performance now? or compatibility? |
| 17:52:41 | evan | JamesKilton: yeah, our old pack was crazy pants. |
| 17:53:13 | sbryant | Now they use Miracles and Magic(tm) |
| 17:53:26 | evan | disappears in a puff of smoke |
| 17:53:33 | sbryant | hah |
| 17:53:49 | JamesKilton | though I have to wonder how in the world you guys keep that insane bunch of goto jumping straight |
| 17:54:23 | goyox86 | JamesKilton: me too :] |
| 17:54:57 | evan | which? the ragel one? |
| 17:57:36 | blowmage | the shootout shows rbx is an improvement on ree for memory usage, but it is still quite high compared to mri/yarv. |
| 17:57:55 | blowmage | is memory usage something that is planned to be addressed? |
| 17:59:07 | JamesKilton | evan: #pack and #unpack. I have to imagine that's generated but nothing else was committed |
| 17:59:22 | evan | check github.com/brixen/rapa |
| 17:59:28 | evan | the .rl files are what it's generated from |
| 17:59:35 | evan | we're not writing that crazy goto parser by hand |
| 17:59:35 | evan | no. |
| 17:59:45 | JamesKilton | haha, good |
| 18:00:02 | JamesKilton | that's neat, Ragel is one awesome tool. I really need to find something that lets me learn it |
| 18:00:39 | tarcieri | evan: is that using the Rubinius.asm backend for Ragel? |
| 18:00:46 | evan | no. |
| 18:00:49 | tarcieri | o |
| 18:01:08 | evan | because the actions are really lowlevel |
| 18:01:16 | evan | so we decided to do them in C++ |
| 18:01:26 | tarcieri | I thought about playing with that again but it seems like it'd be all slow compared to C(++) |
| 18:01:32 | evan | the code is cleaner and faster for implementing "V" in C++ than ruby |
| 18:01:33 | evan | by a lot. |
| 18:22:03 | evan | hah |
| 18:26:40 | goyox86 | evan: which tool do you use to count how many lines of Ruby Code and C++ in the rbx codebase? |
| 18:28:17 | goyox86 | evan: i ran yerterday SLOCCount, on rbx top level directory |
| 18:29:17 | evan | I don't. |
| 18:29:50 | goyox86 | evan: k |
| 18:41:07 | jakedouglas | hmm |
| 18:41:18 | jakedouglas | Dir.glob not behaving like mri |
| 18:44:53 | jakedouglas | hates being the one to find some of these boring ones |
| 18:45:42 | evan | jakedouglas: got an example? |
| 18:47:33 | jakedouglas | ruby-1.8.7-p299 > Dir.glob(".//Gemfile") => [".//Gemfile"] |
| 18:47:46 | jakedouglas | rbx-head > Dir.glob(".//Gemfile") => => ["./Gemfile"] |
| 18:47:53 | evan | seems fine to me |
| 18:47:55 | jakedouglas | extra slashes dont get included in the result |
| 18:47:55 | evan | whats wrong? |
| 18:48:11 | jakedouglas | rbx example is missing the second slash |
| 18:48:26 | evan | why is that wrong? |
| 18:48:29 | sbryant | Is that a bug for rbx or mri? |
| 18:48:36 | evan | isn't ./Gemfile == .//Gemfile |
| 18:48:36 | evan | ? |
| 18:48:48 | jakedouglas | evan: from a filesystem perspective |
| 18:49:07 | jakedouglas | the rails3 fixture loader does some stuff with the strings that expects extra slashes to be in the result |
| 18:49:36 | evan | really? sounds like a super fail. |
| 18:50:00 | evan | why would the expect it? |
| 18:50:01 | jakedouglas | heh |
| 18:51:03 | jakedouglas | http://github.com/rails/rails/blob/master/activerecord/lib/active_record/fixtures.rb#L836-842 |
| 18:51:54 | evan | so? |
| 18:51:59 | evan | i don't see anything about extra slashes? |
| 18:52:27 | jakedouglas | Dir["#{fixture_path}/**/*.{yml,csv}"] |
| 18:52:35 | jakedouglas | fixture_path is a path with a trailing slash |
| 18:52:41 | evan | .. |
| 18:52:42 | evan | ok... |
| 18:52:43 | evan | ? |
| 18:52:57 | jakedouglas | and then the next line uses String#[] with some numbers in there |
| 18:53:09 | matschaffer | looks like line 839 is assuming that / is there |
| 18:53:14 | jakedouglas | if the result of the dir.glob doesn't have the extra slash, the math is wrong |
| 18:53:31 | jakedouglas | and table_names ends up missing the first character of the table name |
| 18:53:37 | matschaffer | why does fixture_path come out with an extra / in the first place? |
| 18:53:53 | jakedouglas | matschaffer: it gets set manually |
| 18:54:14 | matschaffer | and the default is test/fixtures/ ? |
| 18:54:30 | evan | jakedouglas: please show me the input to this |
| 18:54:32 | evan | and the expected output |
| 18:54:49 | jakedouglas | ok. should i file a ticket? or just make up a gist? |
| 18:55:41 | jakedouglas | matschaffer: http://github.com/rails/rails/blob/master/railties/lib/rails/test_help.rb#L21 |
| 18:56:02 | matschaffer | I'd be tempted to file this as a rails bug |
| 18:56:05 | evan | jakedouglas: feel free to file a ticket |
| 18:56:15 | evan | jakedouglas: but please provide the input to this rails code |
| 18:56:19 | jakedouglas | sure |
| 18:56:21 | evan | so I can see the full cause |
| 18:56:30 | matschaffer | jakedouglas: good find |
| 19:01:09 | matschaffer | jakedouglas: you want me to file it in rails' lighthouse? philly.rb is planning a bug mash next month. This could be a nice easy one |
| 19:01:56 | jakedouglas | evan: is this an acceptable example? http://gist.github.com/481814 |
| 19:02:26 | jakedouglas | matschaffer: up to you |
| 19:04:05 | evan | jakedouglas: thats pretty weird. |
| 19:04:06 | evan | actually. |
| 19:04:21 | evan | i need the contents of that directory |
| 19:04:25 | jakedouglas | sure |
| 19:04:58 | evan | that looks different than the / thing |
| 19:05:33 | jakedouglas | refresh the gist, i added the directory contents |
| 19:05:56 | evan | the first lettter is cut off. |
| 19:05:57 | evan | .. |
| 19:06:01 | evan | thats pretty weird. |
| 19:06:04 | evan | never seen that before |
| 19:06:08 | evan | go ahead and open it |
| 19:06:10 | evan | i'll check shortly. |
| 19:07:31 | jakedouglas | right, the first letter is cut off. i am pretty certain the reason is that the Dir.glob result does not include an extra / and the arguments to String#[] are expecting it to or something |
| 19:08:10 | evan | ... |
| 19:08:22 | evan | aah |
| 19:08:25 | evan | ok |
| 19:08:27 | evan | open the issue |
| 19:08:29 | jakedouglas | k |
| 19:08:37 | evan | thats so fucked up rails code |
| 19:08:38 | evan | btw |
| 19:08:41 | evan | *eyeroll* |
| 19:08:43 | jakedouglas | heh |
| 19:12:30 | matschaffer | sadly I can't find anything the the rubyspec about how this should get handled |
| 19:12:41 | jakedouglas | yea there isn't a spec for it . |
| 19:12:41 | evan | matschaffer: might not be one |
| 19:12:44 | evan | care to write one? |
| 19:13:05 | matschaffer | I'd prolly write it how rbx does it :-P |
| 19:14:46 | dbussink | matschaffer: well, what mri does, is the spec ;) |
| 19:14:51 | dbussink | but this rails code is a real wtf |
| 19:15:16 | matschaffer | true |
| 19:15:28 | matschaffer | I filed this as https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/5154 as well |
| 19:15:43 | matschaffer | and put it on the list of things to look at for our bugmash |
| 19:16:25 | matschaffer | evan: how nasty is it to get the rubyspec running? |
| 19:16:34 | evan | it's trivial |
| 19:16:40 | evan | just write them in spec/ruby/core of rbx |
| 19:18:14 | matschaffer | oh you keep your own |
| 19:18:50 | evan | everyone does |
| 19:21:49 | matschaffer | evan: taking a look now. Haven't tried building rubinius outside of rvm yet though, so we'll see how this goes :) |
| 19:22:08 | evan | matschaffer: shoudl be trivial |
| 19:22:59 | kronos_vano | matschaffer, git clone && ./configure && rake :D |
| 19:23:19 | matschaffer | yep, so far so good |
| 19:26:12 | jakedouglas | http://github.com/evanphx/rubinius/issues/issue/420 |
| 19:28:25 | evan | jakedouglas: i'll check it out in a bit. |
| 19:28:29 | jakedouglas | k |
| 19:28:47 | jakedouglas | err, no dude, i cant wait! my deploy is waiting on this! |
| 19:29:32 | evan | O_o |
| 19:30:13 | dbussink | jakedouglas: i bet that will trigger evan ;) |
| 19:31:33 | evan | i'm getting lunch first. |
| 19:31:49 | jakedouglas | my client cant wait until after lunch, they need deploy now!! |
| 19:32:22 | JamesKilton | I didn't know evan ate food, I figured he was a robot. |
| 19:32:34 | slava | sounds like you should be paying for the rubinius pre-lunch support plan |
| 19:32:50 | evan | JamesKilton: aah, thanks! |
| 19:32:52 | evan | slava: hah |
| 19:33:06 | jakedouglas | evan is impressively balanced in his lifestyle |
| 19:33:33 | jakedouglas | perhaps even lazy by the slave-driving standards of some software cultures :p |
| 19:35:06 | evan | i'm definitely lazy compared to slava. |
| 19:35:07 | evan | no doubt. |
| 19:35:13 | evan | now, lunch. |
| 19:35:35 | jakedouglas | heh. mostly i just envy your ability to walk away consistently to do other stuff |
| 19:45:04 | dbussink | evan: just ran those bm_hilbert_matrix benches and they ran fine here |
| 19:45:08 | dbussink | was with master though |
| 19:59:20 | evan | k |
| 20:08:42 | sbryant | when is 1.0.2 or 1.1 being cut? |
| 20:12:27 | evan | august |
| 20:12:30 | evan | 1.1 |
| 20:12:52 | evan | jakedouglas: work/life balance is important. |
| 20:12:56 | evan | keeps me from burning out. |
| 20:12:57 | dbussink | evan: any plans on what should be finished before that? |
| 20:13:04 | evan | pack/unpack |
| 20:13:08 | dbussink | evan: just get that beeper back ;) |
| 20:13:10 | evan | String#% would be nice. |
| 20:13:17 | evan | debugger |
| 20:13:22 | jakedouglas | you say it like its easy to achieve :p |
| 20:13:24 | evan | got a little query agent work to do |
| 20:13:28 | evan | jakedouglas: oh, it's not. |
| 20:13:32 | evan | but it's still important. |
| 20:14:06 | sbryant | I thought someone was working on String#% |
| 20:14:14 | dbussink | evan: hmm, that hilbert bench is pretty slow, but it's mainly Bignum#% being slow |
| 20:14:19 | evan | sbryant: kstevens was |
| 20:14:23 | evan | dbussink: ok |
| 20:14:47 | evan | dbussink: wanna try and speed up Bignum#% ? |
| 20:14:48 | evan | :D |
| 20:14:50 | dbussink | other than that it seems to run fine |
| 20:14:50 | dbussink | https://gist.github.com/87d8e153131e449547e6 |
| 20:14:55 | dbussink | hehe, i can take a look :) |
| 20:15:02 | evan | k |
| 20:15:05 | dbussink | should be easier than String#% :p |
| 20:15:09 | evan | we should ask him what was up |
| 20:26:43 | dbussink | evan: do we already have some instruments to profile c++ parts of the vm? |
| 20:27:59 | evan | no |
| 20:28:01 | evan | i use shark |
| 20:58:39 | dbussink | evan: ugh, quite a bit seems to be in libtommath :( |
| 21:13:16 | evan | dbussink: hm, ok,. |
| 21:13:25 | evan | antyhing where we could maybe add a fast path? |
| 21:13:32 | evan | ie, is it doing % 2 or something? |
| 21:14:11 | dbussink | well, there's also quite a bit of ruby overhead that shows up, maybe stuff could be moved there |
| 21:14:18 | dbussink | but that means a more complex primitive :( |
| 21:14:42 | dbussink | this is through the Integer.gcd path, so maybe there at a higher level |
| 21:15:03 | dbussink | that's why mri is fast on this benchmark, afaik it has a fast gcd implementation added in 1.9 |
| 21:18:14 | evan | aah |
| 21:18:20 | evan | well, i see that mod_primitive stuff |
| 21:18:59 | evan | better to make it the prim |
| 21:19:08 | evan | and type check in the prim and use fallback code for the rare cases |
| 21:19:17 | evan | like if it's a Float or non-numeric |
| 21:20:56 | evan | that would probably speed it up a bit |
| 21:20:58 | evan | and it would be cleaner |
| 21:27:16 | dbussink | evan: just tried this: https://gist.github.com/af1820157cc05ede0923 |
| 21:27:23 | dbussink | passes all specs :S |
| 21:27:33 | evan | thats good |
| 21:27:36 | evan | expect that |
| 21:27:38 | dbussink | but can't really believe it, usually it's more brittle :P |
| 21:27:57 | evan | depends on how bignum_mod is |
| 21:27:58 | evan | lets see. |
| 21:30:03 | dbussink | evan: that float handling should be handled in the primitive too i think |
| 21:30:12 | evan | sure |
| 21:30:13 | evan | thats fine. |
| 21:30:47 | dbussink | so that can go too |
| 21:42:40 | dbussink | evan: pretty happy with this version: https://gist.github.com/c264a5b498f94d393141 |
| 21:42:45 | dbussink | two liner :) |
| 21:42:57 | evan | nice |
| 21:42:58 | evan | go it. |
| 21:43:02 | evan | er. do it. |
| 21:43:24 | dbussink | evan: should this be in bootstrap or common? |
| 21:43:34 | evan | either |
| 21:45:37 | dbussink | evan: ok, will put it in bootstrap for consistency sake |
| 21:45:44 | evan | k |
| 21:45:47 | dbussink | but it's quite a bit faster :) |
| 21:45:51 | evan | :D |
| 21:45:54 | dbussink | 30% off |
| 21:45:59 | evan | noice. |
| 21:53:12 | dbussink | hmm, where's the github bot? |
| 21:54:08 | evan | he's here.. |
| 21:54:18 | dbussink | evan: that hilbert bench went from 35 to 27 sec on my machine |
| 21:54:26 | dbussink | not too wild, but still nice |
| 21:54:27 | evan | nice. |
| 21:54:37 | evan | i can restart boyscout |
| 21:54:39 | evan | he worked this morning |
| 21:54:43 | evan | so it's probably github being slow. |
| 21:56:53 | boyscout | Be sure to add debug symbols to libtommath - 67192e7 - Dirkjan Bussink |
| 21:56:54 | boyscout | Cleanup of Bignum#%, significant performance improvement - 684874d - Dirkjan Bussink |
| 21:57:05 | dbussink | ah, there it is |
| 21:58:05 | evan | just github being slow. |
| 22:00:08 | dbussink | hmm, mri has rational completely in c |
| 22:00:28 | dbussink | which also explains why 1.9 is so much faster on this |
| 22:00:38 | dbussink | 1.9 has rational in c i mean |
| 22:00:46 | evan | this == matrix? |
| 22:00:52 | dbussink | that hilbert one |
| 22:00:56 | evan | right |
| 22:01:03 | dbussink | did you see antonio's numbers" |
| 22:01:04 | dbussink | ? |
| 22:01:09 | evan | yeah |
| 22:02:57 | dbussink | man, ruby has a Prime class |
| 22:03:41 | dbussink | evan: man, this benchmark is beyond terrible, look at the comment: https://gist.github.com/3fc7bdc81c498c8397ca |
| 22:03:45 | dbussink | bm_primes |
| 22:04:20 | evan | :/ :/ |
| 22:04:59 | evan | why would he put that crap into the benchmark set? |
| 22:05:05 | evan | thats testing nothing. |
| 22:05:34 | boyscout | CI: rubinius: 684874d successful: 3502 files, 14364 examples, 42140 expectations, 0 failures, 0 errors |
| 22:07:17 | dbussink | i have no idea |
| 22:08:36 | dbussink | evan: not even headius bothered with replacing that crappy Prime thing, guess really nobody uses it :p |
| 22:08:52 | evan | no one does. |
| 22:08:59 | evan | i didn't even know it was there. |
| 22:09:19 | dbussink | me neither :) |
| 22:09:53 | dbussink | but rubinius is fastest at bm_sudoku :) |
| 22:09:58 | dbussink | that's what matters :P |
| 22:10:09 | jarib | are there any benchmarks from other languages that would be interesting to port? |
| 22:10:41 | evan | dbussink: we should write some sudoku web apps |
| 22:10:43 | evan | with solvers |
| 22:10:45 | evan | in rbx. |
| 22:13:46 | dbussink | hehe |
| 22:13:52 | dbussink | but it's time to get some sleep for me |
| 22:15:02 | dbussink | nite! |
| 22:21:16 | goyox86 | evan: remember the little ticket about Kernel.extend, i modified it look a that and give me feedback, when you have time of course :) http://github.com/evanphx/rubinius/issues#issue/417 |
| 22:21:34 | evan | looks good |
| 22:21:41 | evan | i'm almost done working on the profiler |
| 22:21:46 | evan | and then i'll dig into tickets. |
| 22:23:32 | goyox86 | evan: what dbussink did with Bignum#%, was implement it as a primitive? (Just for educational purposes :]) |
| 22:23:58 | evan | it was already a primitive |
| 22:24:21 | evan | he just cleaned it up so that the primitive was called as Bignum#% directly |
| 22:24:33 | goyox86 | i see |
| 22:26:47 | goyox86 | evan: primitives are implemented in c++?, and the called in Rubyland with Ruby.primitive? |
| 22:27:36 | evan | yes, primitives are in C++ |
| 22:27:40 | evan | Ruby.primitive as another macro |
| 22:27:44 | evan | it's not a real call. |
| 22:27:56 | evan | it just tags the current method as being implemented by the named primitive |
| 22:28:07 | evan | so when the method is called, the primitived is invoked by the VM |
| 22:28:17 | evan | it's only valid as the first line of a method |
| 22:29:34 | goyox86 | evan: you mean, i can only put a Ruby.primitive in the first line of a method in ruby? |
| 22:29:46 | evan | yes. |
| 22:29:55 | evan | because it's not a method call. |
| 22:29:57 | evan | it's just a tag |
| 22:31:07 | goyox86 | evan: i see, when the VM sees this directly calls c++ func? |
| 22:31:23 | evan | you can think of that way |
| 22:31:38 | evan | thats not exactly true at the VM level |
| 22:33:36 | goyox86 | evan: thanks for the explanation bro!, and brixen was kidnapped today? |
| 22:33:41 | evan | :D |
| 22:33:46 | evan | he's off at oscon today |
| 22:33:56 | evan | and working on his presentations |
| 22:37:16 | goyox86 | evan: "Pegarus and Poison: Rubinius VM as a Multi-Language Platform" kidnapped brixen :D |
| 22:37:21 | evan | hehe |
| 22:39:39 | goyox86 | goes to play some soccer, seeeee yaa! people |
| 23:03:33 | evan | yay |
| 23:03:42 | evan | i think i've finally cracked the code of the profiling data |
| 23:34:55 | halorgium | evan: very good :D |
| 23:35:01 | evan | :) |
| 23:35:26 | evan | halorgium: i'm about to commit a bunch of profiler changes |
| 23:35:32 | evan | I started work on friday |
| 23:37:20 | boyscout | Fix profiler graph output and handling of blocks - faad10f - Evan Phoenix |
| 23:50:07 | boyscout | CI: rubinius: faad10f successful: 3502 files, 14364 examples, 42140 expectations, 0 failures, 0 errors |
| 23:59:12 | boyscout | Add spec for escaping used by String#delete - 12b70e7 - Evan Phoenix |
| 23:59:12 | boyscout | Ignore escaped -'s. Fixes #409. - cb7dd02 - Evan Phoenix |