Hello Marc, Tobia, Felix and the chicken mailing list, > Am Montag, den 03.11.2008, 11:11 -0500 schrieb Marc Feeley: > > Concerning the alternative priority queue implementations (wttree.scm, > > llrbtree.scm and skip lists), you have to be careful because those > > implementations allocate memory ...
after closer consideration of the alternatives (and my time frame too). I came to the conclusion that Marc's rbtree macro would be the best choice for the timeout and fd-list. With skip lists we would be back at inclusion of a lot of code or have to strip it down. Still Marc's implementation is constant time for unqueue operations. Better than any of the alternatives. Furthermore it supports a half order while the alternatives are total order. (And the work to use the half ordered queue as a total ordered one has already been done for the fd-list.) So eventually removal from the timeout queue would slower in any alternative while little gain is to be expected elsewhere. Let alone the allocation issues Marc mentioned. So, hereby I'm asking Marc - as nice as I can master - to re-release his code under a license compatible with chicken. (To my understanding that MIT license would be ok, wouldn't it?) We shall polish the rbtree.scm file then. (There are several stylistic and documentary questions besides the (C) notice to be solved. What about the snow!-package declaration for instance. I'd rather leave it in the file too.) And eventually move forward. best regards /Jörg PS: Does anybody here have heavily threaded code to try the version I posted? Does the change help? _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users