At 09:55 AM -0700 13/10/2000, George Greer wrote:
>If you're keeping a full index, you don't need the length of the string
>anymore. You can remove it and keep the trailing NUL for the end of
>string. You'll only save 3 bytes per string but that adds up. You may
>want the length of the string to pre-malloc() for though.
Hmm... didn't see that at all at the time. Will try and see how it goes...
>With a complete index, you don't really have to separate them into
>different files. The format doesn't care what is in it, after all.
Was thinking of dividing them up so that I know what goes where. But like
you said, it doesn't really care. I'll recombine them... err, one of these
days....
>Getting a string from the file with a pre-computed index shouldn't be a lot
>slower than using a pointer indirection to get there, assuming it's in the
>OS cache. Your overhead would come down to about 2 system calls
>(seek+read) which, depending on your operating system, may be well worth
>the extra RAM saved.
>
>One idea which would really be neat on a Unix system is to mmap() the data
>file. Then you just use a pointer into the mmap() section and your program
>acts as if nothing is different from stock (except OLC, which would need to
>still only append). The difference to the operating system is that it can
>throw away your world strings for memory because the file has a backing
>store it can reload as necessary. Your overhead in this case is reduced to
>only whatever memory management tricks your operating system has to pull to
>map the file. The downside is you might be charged memory (though perhaps
>a different sort of memory that isn't limited by the administrator) because
>even though the memory is expendable and not really "there", it's still
>possibly used.
Actually, both you and Erwin did mention about mmap(). The only prob is, I
sort of understood what it does but I don't really understand how to make
use of it. *shrug* Like I said, I can still be consider a beginner. Maybe
it's time for me to do a research on it (which I should have done earlier).
Thanx for the info :)
---
Afizal Mustapa
Petaling Jaya, Selangor, Malaysia.
(amustapa@hotmail.com)
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT