More Pixie

james on 2002-03-13T21:19:29

As pdcawley mentions, we are both working on Pixie. And, as he says, we have different needs. An example of this is that we only need hashes to enter the database, which is cool, because it means in the short term I've punted on anything but.

Piers has been working on other types and that is handy too. The benefits of open source I guess.

As far as piers' talk of only returning $self, I've been trying to do that all afternoon while I write the networking layer of OODB, and it does work really well. Certainly once you get used to the fact that this is how it works it feels slow to go back to anything else.

One of the hard things about writing pixie's network layer is where the data is kept. As it stands in the fotango branch I've punted on worrying about writing the data to disk for now, and are just focussing on getting the various bits and pieces to talk to each other. Which means that data is in memory. This is really hard to deal with. At the moment the code forks-on-demand when a query request comes in. On an insert it handles it all in process. This is so that all the information is available to all the processes whenever it comes time to query. Its not the most efficient method, but for purposes of bootstrapping it works quite well.

If anyone has any idea how to write a preforking network server without reading and writing to disk every time it would be very nice to know.

This is, of course, where the stevens networking book would come in very handy, as his Advanced Unix Programming book , while very good indeed, doesn't really cover network servers well enough for my purposes here.

A trip to the PC Bookshop would useful, methinks


Writing to Disk

2shortplanks on 2002-03-14T00:51:35

What's the problem with writing to the filesystem?

The filesystem != the disk. If you're quick (for certain values of quick) you can write to the filesystem from one process, read it in from another, and delete the data before the computer decides it needs to flush that data out to a physical device.

This kind of stuff really is up to the OS. I wouldn't worry about it so much.