On Sun, 3 Aug 1997, George wrote: > On Fri, 1 Aug 1997, Daniel W. Burke wrote: > > release_all_buffers() is only called during game_loop(), thus it is not > available while the MUD is booting, except for a couple I threw in for > sanity's sake. It is a good idea because you can: > a) reduce the number of calls to release_all_bufffers() > b) reduce the number of buffers created when ones could be reused > > >Seems that it would actually be a time saver (although we're probably > >only talking minor times here, but anyways) to leave the unused buffers > >to "idle" out in 5 minutes in release_all_buffers(). > > All buffers are cleared for usage every pulse although it makes sense to > call it less. > > The idle out is to prevent excess buffers that just 'hang out'. You can > arbitrarily increase it or decrease it. > > And if you comment out the debugging messages, you never have to worry > about release_buffer()...and if you do care, the code will tell you who > forgot to free it. > My original post was done in some ignorance. I had been expermenting with the code, but I did not know until going over the code in detail, that release_buffer() doesn't free the buffer, it just clears it so that it can be used by someone else. A way to reduce the calls to release_all_buffers() is to instead of calling it ever pulse (10 times a second) make it only called (and need to be called) once a second. just make a PULSE_BUFFER that's (1 RL_SEC) and change BUFFER_LIFE to (5*SECS_PER_REAL_MIN) or (300 RL_SEC) (the equvilant). I plan on experimenting with this more though. It crashes on me when freeing more then a couple buffers at a time it seems. Brazil - Implementor of AddictMUD addict.realms.org 4000 206.185.32.8 4000 +------------------------------------------------------------+ | 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