Show enters and exits. Hide enters and exits.
| 03:00:41 | davidruan | I am new to rubinius, I just build the rubinius in ubuntu linux 9.04. The source is cloned from github. |
| 03:01:03 | davidruan | There is an error when running code in bin/rbx:NameError: Missing or uninitialized constant: MethodContext |
| 03:01:17 | davidruan | Any body know the cause? Thanks! |
| 08:45:37 | rue | davidruan: An old class that is somehow getting activated still |
| 08:47:47 | davidruan | thanks! what should I use to replace MethodContext.current? |
| 08:49:46 | davidruan | Is there new class to replace the function of MethodContext? |
| 08:51:36 | davidruan | rue: I read tutorial and try the sample code on rubinius |
| 10:30:56 | rue | Which sample code? |
| 10:35:22 | davidruan | rue: http://programblings.com/2008/11/25/rubinius-for-the-layman-part-3-try-rubinius-in-20-minutes/ |
| 14:21:34 | rue | That is amusingly outdated :/ |
| 17:02:24 | seacreature | brixen: ping |
| 17:03:33 | seacreature | For the RubySpec web prototype, we put together a simple XML formatter. It may evolve over time, but right now exposes all the detail we need. |
| 17:03:36 | seacreature | http://is.gd/LBdA |
| 17:03:49 | seacreature | interested in having this upstream? |
| 17:04:15 | rue | If not required to support it, probably :) |
| 17:04:40 | seacreature | rue: We'll support it, obviously |
| 17:04:51 | seacreature | at least as much as our needs dictate |
| 17:05:03 | rue | Heh |
| 17:05:18 | seacreature | We're moving along pretty quick, we may have something dumb but usable to show by tonight |
| 17:05:31 | rue | Cool |
| 17:06:13 | rue | The manual XML is a bit ucky, but definitely less demanding of the implementation than using a builder would be |
| 17:06:58 | seacreature | rue: yeah, definitely. If it got more gnarly, we'd think about adding a builder |
| 17:08:35 | rue | I think it would be OK to add an optional builder dependency if it is needed for more advanced stuff, so long as it is electable |
| 17:08:49 | brixen | seacreature: is there a reason yaml wouldn't work? |
| 17:09:07 | seacreature | brixen: we were just having trouble emitting by line without escaping issues |
| 17:09:24 | brixen | emitting what by line? |
| 17:09:26 | seacreature | A yaml emitter that outputs the same information would be better for our purposes |
| 17:09:29 | seacreature | the yaml |
| 17:09:57 | seacreature | it was tedious to escape things like stack traces, but actually, I didn't work on this stuff, Brad did. |
| 17:10:06 | seacreature | I was working on the database modeling last night. |
| 17:10:19 | brixen | the yaml formatter already escapes the backtraces |
| 17:10:32 | brixen | I'm just trying to understand where the yaml formatter was falling down |
| 17:10:42 | brixen | I'd much prefer to fix it than maintain xml |
| 17:10:48 | seacreature | Understandable |
| 17:10:53 | brixen | that said, I don't care if you add a formatter |
| 17:11:08 | brixen | I just don't want to add them arbitrarily |
| 17:11:31 | seacreature | brixen: completely understand. |
| 17:11:40 | seacreature | Let me get some extra info from Brad here |
| 17:12:07 | brixen | ok |
| 17:13:36 | seacreature | brixen: The only concern is that this formatter is wildly different than your existing yaml formatter in the kind of information it produces |
| 17:14:03 | seacreature | I mean, we could call it something like verbose yaml format or something... |
| 17:14:19 | seacreature | I'm not sure how you'd like us to integrate it |
| 17:14:37 | seacreature | but Brad said that it's probably doable to move this over to yaml |
| 17:14:56 | brixen | well, the existing yaml formatter can be extended |
| 17:15:13 | brixen | the idea for it was to emit the spec info in a machine-processable format |
| 17:16:12 | brixen | you can make the yaml formatter behave more like -fs |
| 17:17:53 | rue | JSON :) |
| 17:18:02 | seacreature | rue: JSON came up last night as well :) |
| 17:18:41 | brixen | json is fine, too, but what is the advantage over yaml? |
| 17:18:53 | rue | It sucks less :/ |
| 17:19:09 | seacreature | brixen: We're considering adding a :verbose key to keep the existing formatter backwards compatible |
| 17:19:17 | seacreature | and then just put all our data in there |
| 17:19:26 | seacreature | Does that sound like a good way to go? |
| 17:19:40 | brixen | seacreature: there's really no reason to keep it backward compatible unless you plan to change the info it emits now |
| 17:19:47 | brixen | which I don't see a need for |
| 17:20:06 | seacreature | brixen: the info it emits now is per spec only, showing only the exceptions |
| 17:20:09 | brixen | you can add all the description/example strings without modifying anything |
| 17:20:29 | seacreature | we do this at a much more granular level |
| 17:20:43 | brixen | sure, but that doesn't conflict with the existing info |
| 17:20:47 | brixen | just add to it |
| 17:21:07 | seacreature | But we're not reporting only exceptions |
| 17:21:11 | brixen | it emits the aggregate tallies and exceptions |
| 17:21:14 | brixen | yes yes |
| 17:21:18 | brixen | I understand |
| 17:21:20 | brixen | add to it |
| 17:21:21 | seacreature | This is how I saw it... |
| 17:21:30 | seacreature | data[:exceptions] #=> ... existing stuff |
| 17:21:38 | seacreature | data[:verbose] (or :full_report) |
| 17:21:46 | seacreature | would be all of our additional data |
| 17:22:28 | seacreature | this is no trouble for us, we can easily hang all our data off a single key |
| 17:22:42 | seacreature | without breaking anything that depended on the existing format |
| 17:22:59 | seacreature | Does this sound reasonable? |
| 17:23:13 | brixen | http://gist.github.com/121580 |
| 17:23:19 | brixen | that's the existing, with exceptions |
| 17:23:42 | seacreature | right, so what I'm proposing is that verbose: ... |
| 17:23:50 | seacreature | is our complete report at the per example level |
| 17:23:56 | brixen | right |
| 17:24:02 | brixen | that should be fine |
| 17:24:02 | seacreature | is that cool with you then |
| 17:24:05 | brixen | sure |
| 17:24:08 | evan | morning. |
| 17:24:08 | seacreature | Okay, we'll prepare a patch |
| 17:24:14 | brixen | morning evan |
| 17:24:17 | seacreature | morning evan |
| 17:24:29 | seacreature | I'm keeping good on my word and breaking ground on the spec web stuff :) |
| 17:24:49 | seacreature | project will materialize at: http://github.com/madriska/unity |
| 17:25:38 | seacreature | nothing to see there yet, though |
| 17:26:52 | brixen | cool |
| 17:27:36 | evan | my personal opinion, verbose is for human consumed data |
| 17:27:44 | evan | if it's yaml, it's probably for a machine |
| 17:27:47 | seacreature | have a better name? |
| 17:28:07 | evan | just do it all the time |
| 17:28:09 | evan | why turn it off? |
| 17:28:39 | seacreature | Oh, I think there was a source of confusion here |
| 17:28:45 | seacreature | We will emit it all the time |
| 17:28:50 | brixen | right |
| 17:28:54 | seacreature | I just need a name for the key we hang our data from |
| 17:28:58 | brixen | just needs a key |
| 17:28:59 | brixen | yeah |
| 17:29:07 | evan | whats in the data? |
| 17:29:08 | brixen | call it something like :specs |
| 17:29:15 | seacreature | ah, that'd probably be okay |
| 17:29:34 | brixen | it should be hierarchical I think |
| 17:29:43 | seacreature | Yeah, it will be |
| 17:29:50 | brixen | so the example strings are a list under the describe string |
| 17:29:57 | rue | Morning |
| 17:30:04 | brixen | you could use serial #'s for all the specs |
| 17:30:18 | brixen | the problem I see is relating this data over time |
| 17:30:24 | brixen | since the specs can change at any time |
| 17:30:33 | seacreature | yeah... We have a solution to that |
| 17:30:34 | brixen | and even the example strings change |
| 17:30:41 | seacreature | We plan to explode the database on every import |
| 17:30:43 | seacreature | :) |
| 17:30:49 | brixen | ok |
| 17:30:55 | rue | We have a heat wave of 80.1 degrees on silly imperial scale |
| 17:30:58 | seacreature | We'll see how that goes and example something more robust |
| 17:31:00 | brixen | you can relate the data by class and method |
| 17:31:13 | seacreature | yeah, that's what our current implementation does |
| 17:31:13 | brixen | seacreature: you should check out the profiles in mspec |
| 17:31:49 | brixen | seacreature: ok, I'll let you guys work :) |
| 17:32:10 | evan | you should sha1 the specs as the key for each spec |
| 17:32:19 | brixen | ahh, that'd be cool |
| 17:32:25 | seacreature | that's an interesting idea |
| 17:32:29 | evan | and then have a 'set' of specs, thats just a list of sha1s |
| 17:32:31 | brixen | the actual code of the specs |
| 17:32:49 | evan | then, as the specs change, the latest set is the one you use |
| 17:33:20 | evan | since the vast majority don't change |
| 17:33:29 | evan | the spec data will be pretty constant |
| 17:34:37 | seacreature | Yeah, that'd speed up import for sure. We'll keep it in mind and add it when the time comes |
| 17:34:49 | evan | k |
| 17:34:53 | evan | just a thought. |
| 17:34:55 | seacreature | But for now we're just trying to get something running before Brad goes back to Chicago tomorrow |
| 17:35:05 | evan | awesome! |
| 17:35:05 | seacreature | evan: totally helps us out, we'll do it. |
| 17:35:45 | seacreature | Right now, we're focusing on basically just getting a snapshot. The first prototype will be more about the sort of functionality a user can expect than it will be able how we'll actually do the infrastructure |
| 17:36:36 | brixen | seacreature: the thing to keep in mind is you want this to run on beginning, and sometimes very limited, implementations |
| 17:36:46 | brixen | seacreature: so you need to keep the data collection code very simple |
| 17:38:16 | brixen | is out for some errands, bbl.. |
| 17:38:32 | seacreature | brixen: yeah, we'll keep an eye on that. Anyway, just give us a little while and we'll have a patch to review. We're hoping to finish that part before lunch |
| 17:39:07 | brixen | seacreature: don't worry too much about the patch now, just work on it till you got in going |
| 17:39:16 | brixen | s/in/it/ |
| 17:39:52 | seacreature | yeah, sure. That's our plan but we also want to keep things in line with the project |
| 17:39:59 | seacreature | if there is cleanup that needs to be done later, so be it |
| 17:40:09 | brixen | sure, n/p |
| 17:48:07 | seacreature | brixen et. al : http://is.gd/LCU0 |
| 17:48:24 | seacreature | This would do what we need |
| 20:12:28 | evan | yay. |
| 20:12:39 | boyscout | Add ability to profile JITd methods - 0db4d66 - Evan Phoenix |
| 20:12:47 | evan | oops |
| 20:12:51 | evan | think I made a booboo. |
| 20:15:58 | boyscout | Initialize include_profiling - 80d33f6 - Evan Phoenix |
| 20:25:01 | boyscout | Support RBX_OPTIONS as a way to set options - 98cfb93 - Evan Phoenix |
| 21:49:44 | dgtized | evan: something isn't right about JIT profiling |
| 21:51:12 | dgtized | for the bm_array_each benchmark there are not enough calls to Array#each -- or is it simply it's uplifting the entire code into the body of the times loop? |
| 22:58:39 | evan | dgtized: parton? |
| 22:59:08 | evan | dgtized: profiling may not be working properly |
| 22:59:14 | evan | i realized at lunch. |
| 23:21:16 | boyscout | Add flag for enabling profiling of JITd methods - 94c725b - Evan Phoenix |
| 23:21:28 | evan | dgtized: try using -Xjit.profile with -P |
| 23:21:30 | evan | that should fix it |
| 23:49:53 | rue | Yes, doctor, but now I see all in triple |