Thursday, December 13, 2007

Finally!

Finally some good progress on the ACE version of the Suneido server. It's actually working well enough to run a client IDE from it, a major milestone. The last couple of problems were minor mistakes of mine. ACE and the Boehm GC seem to be working together.

Of course, this is just the start, now comes the "fun" part - actually making my code thread safe.

2 comments:

Anonymous said...

I spent several years building & maintaining a multi-threaded ACE-based server. ACE makes things a little easier, but I still believe that multi-threaded programming is one of the cruellest curses ever to be visited on those that build software.

It's brutally difficult to make your code thread safe, and when you finally do you discover that it doesn't speed up on multiple CPUs because of all the locking...

Coincidentally, I also did some stuff with the Boehm garbage collector, but that was almost twenty years ago.

Andrew McKinlay said...

Yeah, that's why I've been putting this off for so long. I'm not looking forward to it :-(

On the positive side, some parts of the design of Suneido are at least a little "friendly" to multi-threaded i.e. won't require a lot of fine grained locking. But I'm sure it'll still be frustrating. But then again, that seems to be the nature of the game!