Re: Woohoo.

From: Daniel Koepke (dkoepke@CALIFORNIA.COM)
Date: 08/20/97


On Wed, 20 Aug 1997, Jeremy Elson wrote:

-+Maybe I'm misunderstanding how the patch works... for some reason, I
-+thought it always rounded the request up to the next highest power of
-+2.  I figured the reason a 12288 byte request was filled by 32K
-+(instead of 16K) was because a 32K buffer already existed in the
-+buffer pool and was the first one that aquire_buffer() found that was
-+>= 12288.

From what I can tell (and it may not be accurate, since I've not bothered
to look at the patch), the patch only rounds up to 128 when you request
a buffer smaller than 128.  Otherwise, it uses: first, any buffer that
is exactly the right size; second, the smallest existing buffer > the
requested size; finally, a newly created buffer of the exact size
requested.

Although, rounding-up might not be a bad idea.  It'd certainly reduce
the number of malloc() calls (eg., 300 would use a 512 buffer, hence
no malloc() of a 300 buffer; later requests for a 512 buffer will get
that 512 buffer, thus knocking off another malloc() call).


--
Daniel Koepke -:- dkoepke@california.com -:-  [Shadowlord/Nether]
Think.


     +------------------------------------------------------------+
     | 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