Kin icon

KIN DB 2004 Project - TO-DOs

Project hosted at: Logo


This is a simple list of ideas and pending things to fit into the system. It is not organized, and serves as a very basic remainder list. There are two sections: one for technical coding ideas, and another for system design ideas.

List of technical ideas to implement or change

Last changed: 2007-01-11 18:33:14 GMT+0000

081005 Use UTF-8 for module's copyright note. Extend its use to all the text
       messages of the system (logs, etc.)
081005 Simplify makefile.base as there's a lot of unused definitions there...
110107 Performance might be increased by changing default heap management
       criteria, like when to call sbrk. Increasing histeresys may help,
       reducing system calls to expand/shrink memory allocated to this process
       (see mallopt())
110107 Use of alloca() may be useful also to get some local variable size
       temporal structures, as it allocates on the stack (instead of the heap)
       and deallocation is automatic when leaving the function.
110107 Try to avoid caching of data slots, as any simple search will probably
       pollute the whole data cache, that could be preserved for more useful
       LUTs, requirement lists, etc. Data slots are like stream data in some
       sense, and probably should be managed as such (used often but with a
       volume that exceeds cache capacity to hold them).
110107 Multitask scheduler is quite effective as it is now, but it depends on
       every routine (task) to be polite and return to scheduller often. As this
       may be ok for system tasks, it is not convenient for user ones (like
       TM tasks). A real multitasker could be implemented using getcontext()
       family of functions (better than more complex threads), based on some
       sort of signal (like a periodic timer at, for an instance, 100Hz) that
       makes that scheduller to swap them (based on some minimum locking like
       detecting some packet creation collission, etc.).
110107 Use backtrace() family of functions to log a backtrace in case of SegSEGV

[an error occurred while processing this directive]