Archive for the ‘performance’ Category

WeSay:Words Prototype Results, Part I

Wednesday, June 28th, 2006

These have been an exciting last few days, as our prototype has got to the place where we can start getting some questions answered. Happily, our quick tests (just looking at the Windows Task Manager), show that we can load the prototype with a 32k-word Thai glossary in just a couple seconds on my laptop, using only 22 Megs of RAM. A test with only 5k words took just a meg or so less. So we effectively don’t have to care how big the user’s dictionary gets. Even scrolling through the list (which is very fast), the RAM usage doesn’t grow more than one meg, and then it drops back. Score one for db4o & Eric’s lazy TreeView. This doesn’t count the RAM used by the .net framework itself, though. On a mono install, we’ll have some overhead that we haven’t measured yet.

Towards a prototype

Monday, June 19th, 2006

As we have written before, we are beginning our project by checking out the technical feasibility of running a graphical, mono based dictionary application on the most demanding of a target platforms, the OLPC. Now, we can’t actually get an actual production version of one of these laptops yet, but we can load an emulator with the operating system that will be on it. The next step would be to load Mono, find out what libraries the OLPC is missing, add those, and then run our application. This would at least tell us how hard it is to get Mono running on the OLPC OS, and let us check how well our test program runs in 128K of RAM. It would help us answer two out of three of our big questions:

1) How difficult is it to get Mono running on top of the stripped-down Linux OS on the OLPC?

2) Is it feasible to run our app, with our provisional architecture (which includes db4o), in 128 meg of RAM?

We spent a couple days working on that and found it hard going. Fortunately we have friends way over in Calgary that are working on this problem, and they are more skilled in these things. So, we’re going to depend on them, and we’ll move on to something that will help us answer our third question:

3) How will a Mono/GTK/db4o perform on a relatively slow machine like the OLPC?

At this point, we really don’t know how to test the speed when using an emulator. Sure, the emulator slows it down a lot, but how much? Eventually, we hope to acquire some benchmarks done on the actual hardware, which we can then compare with benchmarks from the emulator. In the meantime, we will be setting up an old, slow desktop machine for speed tests.

Soooo…we are now building a prototype to run on the old machine. Eric and I spent some time this morning doing the CRC Card thing, which I have always read about but never actually tried. I personally didn’t get anything out of what we wrote on them, but I did like being able to move the physical cards around. Things are tough to rearrange on a whiteboard.

Later, Eric and I started pair programming on the data layer, based on the design we came up with. So far, I haven’t had any pairing experiences where I didn’t feel like my brain was on idle 70% of the time. I know there is a bunch of strategic thinking I’m supposed to be doing while my partner types, and then at a moment’s notice be ready to switch back into tactical conversation, but I guess I haven’t got the hang of that yet. Fortunately, the view out our glass-wall office here in Chiang Mai is an interesting one. Not very idylic, but interesting. Notice the rickshaw driver going by the metal shop here:

view outside our office

Technorati Tags: , , , , , ,