A large revision under work. Instead of one large linked list which made searching for a large buffer slow, it now uses an array of pointers to various sized buffers. The smallest and largest values are customizable but default to 64-65536 bytes. Other minor cleanups were done also. I also began work on making the buffer code threaded by adding a buffer_thread() function. That function is (currently unused but) designed to be run as a separate thread which will check for the unused, timed out, and forgotten buffers around. Eliminating races and other re-entrant problems I have not really begun. I also extended the buffer cache from one item to a customizable array of 3 items (by default). It also keeps track of cache hits and misses and I will probably add that to 'show stats'. I've packaged this as an update to the buffer v1.5 patch so the changes can be examined. It's available on my projects page. I wouldn't suggest using it, it's probably very 'featureful' at the moment. (I know 'show buffers' dies...but the mud does boot ok and allow use.) Recommendations welcome for this peek at the future. :P I expect to be a lot faster than before... -- George Greer - Me@Null.net | Genius may have its limitations, but stupidity http://www.van.ml.org/~greerga | is not thus handicapped. -- Elbert Hubbard +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST