Well, since SQLite3 is now compiled I started building support for it into SUM. Then I started moving some old data storage to sqlite and this started happening at a blinding pace. Before the end of the night I had client side update resolution and information displays complete. A few more days work is all it will take. Once completed, all that will really be necessary is conflict/dependency resolution but such things are not currently important to sparemint users. (Right now, they use a clever but inherently dumb perl script). This is completely important because once SUM is in a useable state I’ll be able to begin the push to replace the sparemint site. Once that is done, we’ll be able to build a version of sparemint specifically for gcc3.x and m68020-60. In theory, this should result in a substantial speed boost. In addition, the full recompile will work any statically linked bugs out. I also managed to cross build gcc 3.3.6 today and compile mintlib and freemint with it, which is pretty slick. We’re on our way :) The lesson to be learned here is that C, without help from supporting libraries is a rather poor language to program high level applications in. I was spending all my time creating comparison functions, linked list handling, data structures, etc. In fact, it got so bad that I started looking for a way to do dependency resolution on the server via a nicer high level language, PHP. Now I can in what took me weeks before and 50+ lines of code get done with 1 single SQL statement. That’s important to pushing it out the door.
I noticed that real tables have a pathetically slow insert speed on a real falcon. I did a number of things to try to improve it but to no effect. For some reason, it’s quite fast on ARAnyM (even without JIT) but ultra ultra slow on a falcon. I’m assuming it has something to do with disk i/o because when I change the tables to temporary tables (held soley in RAM), the speed increases about 50x into performance you would actually expect. However, I do want to use real tables if at all possible so users can examine or work with data after the sum table population completes.