← Back to team overview

gtg-contributors team mailing list archive

backends news

 

Some interesting things from my commits:

- easy profiling (./scripts/debug.sh -p to profile,
./scripts/profile_interpret.sh to see the results)

- added a testcase building the documentation, since I've discovered
that the build can fail

- I've almost finished rewriting the DataStore and TaskSource. The old
functionality is already there and most of the new stuff is too. I've
added a testcase for the datastore (which is quite picky, and helped
me finding a couple of bugs), and documented everything.

- I've changed the threading system in the datastore. Basically, now
tasks that should be  added and removed from  a backend are queued in
"collection.deque" queues (which are thread safe), and a timer fires
up every ten seconds if those queues are not empty (and upon
quitting). I've just added a similar thing inside the localfile
backend (to avoid keeping opening and closing files, which created
problems inside cleanxml - haven't looked into that yet, but it's not
happening anymore). Anyway, now my stress test has become quite
useless, because we can add 1000 tasks to gtg in a matter of few
seconds ^_^. A drawback is that GTG takes a little more if it has
still to save tasks but, well, the user shouldn't mind about that (the
ui is already closed anyway)).

I'd like to commit to trunk soon the datastore and the new backends
framework, because my branch is obviously diverging and your commits
have to be merged manually :)

I have still to write a list of advantages and user cases of the 1
task/x backends. It will come soon :)



Follow ups