Tuesday, November 28, 2006

Update: Things are rounding up

OK, I found out that there was a reason I did not want to use globals and must of forgot it when I wrote the cache component. The reason was because it cannot be passed through child launches which means that a 'child' kernel process cannot use the globals of its 'parent' kernel process. The solution was simple. I reserved a cache area in the store so that it can be inherited to child processes. The only global allowed is the store file handle which is passed as the first parameter when launching child processes. Creating objects via a method is much slower than a direct call but that was expected. Methods are not for speed but for functionality. It allows for easy replacement of functions at run-time. I guess its around 10x slower with methods then with a direct function call. I will try and improve this in the future but not now. Usability now, speed later. I have decided to write the API first as to 'finish' the kernel and then I will port it to PalmOS. I am thinking of how to reduce the number of lines requried to implement a method which currently requires 2 functions, 1 identifier and 1 declaration. I might think of some macros to shorten this up but unless I come up with something, it might have to be a utility to ease the writing of methods. Here is version 0.13 http://www.box.net/index.php?rm=box_v2_download_shared_file&file_id=f_28653832

No comments: