14 Jul 2006 vicious   » (Master)

So I needed to use genius for some research and I realized that the code I wrote is very demanding, and further that genius was leaking memory like a sieve.

It also crashed on me, which was annoying. So I spent last two days fixing up all the leaks and improving speed in some places. My test problem for parameter equal to 3 ran in 26 seconds this morning after the leaks were plugged. Now it runs in 8 seconds. Fast you say. Well, for parameter 4 it took 4 hours. For parameter 5 it ate all my memory and I had to drop to console to kill it, since my mouse pointer was too jumpy and everything but genius was likely swapped out.

Actually it's not a problem that should require lots of memory, that needs some more coding. Still it's unlikely parameter 5 is anywhere near feasible. Maybe if I rewrite it in C, but then I'd have to write some routines for row reducing which I find kind of boring. It's also probably not worth the trouble. The code is to check that a certain conjecture is true for specific values, and I'd much rather do an actual proof. Proof by having the computer do thousands of iterations of NullSpace just to test one parameter value seems entierly unsatisfying.

It's nice again to be doing some coding. On the other hand I'm coding on a piece of software of which I'm pretty much the only user (there are apparently people using genius out there, but mostly as a calculator, not for anything really serious).

I noticed that raph was writing Ghilbert. That is a cool piece of software.

Latest blog entries     Older blog entries

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!