=== Keybuk_ is now known as Keybuk | ||
sadmac2 | Keybuk: have time to look at the state machine prototype today? | 15:34 |
---|---|---|
Keybuk | no, I haven't even got the url to it | 15:37 |
Keybuk | did you mail it to upstart-devel? | 15:37 |
sadmac2 | Keybuk: I pinged it here. I'll mail it to devel if that's where you want it | 15:39 |
Keybuk | sure | 15:42 |
Keybuk | IRC is lossy ;) | 15:42 |
sadmac2 | Keybuk: just sent | 15:45 |
Keybuk | thx | 15:46 |
* Keybuk is still insanely busy | 15:46 | |
Keybuk | jaunty planning \o/ | 15:46 |
Keybuk | so it's fun busy | 15:46 |
sadmac2 | This summer, Ubuntu gets Jaunty | 15:47 |
sadmac2 | What is it that's Jaunty? Jackalope? Jaguar? | 15:47 |
suihkulokki | hmm.. I have some post-lenny development plans I should write up and push to ubuntu devs too.. Shared workload and all :P | 15:53 |
Keybuk | Jackalope | 16:22 |
sadmac2 | thought that was it | 16:22 |
Keybuk | K is proving tricky on the acronym front ;) | 16:22 |
Keybuk | I liked Kafkaesque :p | 16:22 |
sadmac2 | Kafkaesque Kangaroo | 16:22 |
sadmac2 | heh, Kafkaesque: our most depressing release yet! Fill your computer with existential horror today! | 16:23 |
Keybuk | not having the name is actually annoying, because jaunty is a bug fix focus release, so we're targetting features to k already | 16:23 |
sadmac2 | Kettle-cooked | 16:24 |
Keybuk | I like Kinky ;) | 16:25 |
AlexExtreme | Kamikase Kangaroo! | 16:25 |
sadmac2 | Ubuntu 9.04: Kinky Keybuk? | 18:08 |
* Keybuk gets the chains | 18:09 | |
sadmac2 | It seems strange that I'm getting paid at a time like this | 18:11 |
Keybuk | how so? | 18:12 |
sadmac2 | Hmm, I dunno | 18:13 |
Keybuk | you mean while I'm not working on anything for you to package? | 18:13 |
sadmac2 | I mean while you're getting the chains | 18:13 |
Keybuk | lol | 18:13 |
Keybuk | it's 6pm here, I'm on my own time ;) | 18:13 |
sadmac2 | I have various infrastructure tasks to keep me busy whilst you're otherwise occupied | 18:14 |
Keybuk | also note that right now, it's not clear how much work I'll be doing on Upstart for jaunty | 18:14 |
Keybuk | we're planning over two releases | 18:14 |
Keybuk | so you may end up waiting a whole year for a 1.0 | 18:14 |
sadmac2 | Oh I think its going to take a year, definitely | 18:17 |
sadmac2 | most of what I need from you is protocol and operating principle for the actual pid 1 service manager | 18:17 |
sadmac2 | after that I can do most of what I need here. | 18:18 |
Keybuk | right, but I may not even *start* that for 6 months | 18:18 |
Keybuk | that's my point | 18:18 |
sadmac2 | meh, all good | 18:18 |
Keybuk | depends what ends up on the jaunty list | 18:19 |
sadmac2 | I actually might be moving positions soon | 18:19 |
Keybuk | I know it's kinda a bitch for you guys, but you've done it to us *so* many times ;) | 18:19 |
Keybuk | and at the end of the day, Ubuntu pay my salary not RH, so I do what they want :p | 18:19 |
sadmac2 | absolutely | 18:19 |
Keybuk | I'm probably being a bit more pessimistic than reality right now | 18:20 |
Keybuk | I suspect I'll have lots of time | 18:20 |
Keybuk | and this time round I plan to make regular releases all through development, and keep it in a roughly working state | 18:20 |
Keybuk | as aposed to 0.5, where so much was stripped out, it took ages to get it working again | 18:20 |
sadmac2 | yeah | 18:21 |
sadmac2 | I think it'd be beneficial to look at libnih | 18:21 |
Keybuk | there's lots of things wrong with libnih | 18:21 |
sadmac2 | for one of my side projects I am experimenting with a new memory model that really makes C a lot easier. | 18:21 |
Keybuk | oh? | 18:21 |
sadmac2 | yeah | 18:21 |
Keybuk | oddly enough that's what I've been playing with recently | 18:21 |
sadmac2 | basically you have a series of "contexts" that are all referred to by name | 18:21 |
Keybuk | have a prototype new nih_alloc that's based on ion_'s ideas | 18:21 |
sadmac2 | when you allocate you specify a context to allocate into | 18:22 |
sadmac2 | and when you free, you free everything in a context at once, never just one object | 18:22 |
Keybuk | isn't there a name for an allocator like that? | 18:22 |
Keybuk | I'm sure there's something like that in glibc | 18:23 |
sadmac2 | Its quasi region based | 18:23 |
sadmac2 | but the idea is you allocate by the time period an object is relevant for | 18:23 |
Keybuk | it's a bit like obstack | 18:24 |
sadmac2 | so for this web server dealie: theres a context for transactions (opened on a request, closed on reply), a context for the time between receiving the start of a header and receiving the start of the entity, a context between the open and close of the connection, etc. | 18:25 |
sadmac2 | you get a lot of performance gains too, because the allocation operations are simpler, and the free operations are infrequent and much simpler | 18:27 |
Keybuk | are you sure you've not just reinvented an alternate API to obstack? :p | 18:27 |
Keybuk | obstacks are simple, for each obstack you can allocate as many items as you want | 18:28 |
sadmac2 | let me see... | 18:28 |
Keybuk | when you free an item, all items allocated *after* that item are also freed | 18:28 |
Keybuk | freeing the first item clears the obstack | 18:28 |
Keybuk | they're really useful for exactly what you describe | 18:28 |
Keybuk | attach an obstack to the transaction | 18:28 |
Keybuk | allocate everything from there, including header stuff | 18:28 |
Keybuk | each time you finish a header parse, free the item that started it (everything allocated for the header goes too) | 18:28 |
Keybuk | each time you finish a transaction, free the obstack | 18:29 |
sadmac2 | that's good to know :) | 18:29 |
sadmac2 | I think most allocation should work that way. | 18:29 |
sadmac2 | the one thing I did different is most/all of the stacks are globally accessable. | 18:30 |
Keybuk | the really nice thing about obstacks is they have a sort of memory | 18:30 |
Keybuk | so if you repeatedly do the header phrase, there won't be any actual malloc() or free() calls | 18:30 |
Keybuk | since you'll just continually reuse the same bit | 18:31 |
sadmac2 | yes. this is good :) | 18:31 |
sadmac2 | why are there no manpages for it? | 18:32 |
Keybuk | because it's in glibc | 18:32 |
Keybuk | read the info docs :p | 18:32 |
sadmac2 | friggin gnu freaky manpages | 18:33 |
sadmac2 | granted, info is superior to man in most every way... | 18:33 |
sadmac2 | but who has time for this shit? | 18:34 |
sadmac2 | Keybuk: please note the mailing list post I just made. | 22:19 |
ion_ | tl;dr | 22:22 |
ion_ | Nah, just kidding. I’ll try to read it. :-) | 22:22 |
sadmac | heh | 22:35 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!