--- "D. Richard Hipp" <[EMAIL PROTECTED]> wrote: > Our studies to date indicate that SQLite neither leaks nor fragments > memory. Preventing leaks is relatively easy. Preventing memory > fragmentation less so. Yet we are not seeing memory fragmentation > as a problem for the workloads we have tested. > > Nevertheless, we cannot *prove* that SQLite, in its current form, > will never fragment memory. However, we are working toward a > future release where such a proof will be possible, at least for > certain well-defined operating parameters. We just are not quite > there yet.
Pool allocators can be effective for certain classes of problems and can exhibit desirable deterministic properties. But a library does not exist in isolation. You must consider the entire program memory space. If every library used its own distinct pools then a program that uses many of such libraries (sqlite, apache portable runtime, GNU STL, whatever) may ultimately end up with is sub-optimal memory utilization for the entire program. Space reserved for one library, but not currently in use might be better put to use by another library's short-lived operation, for example. Using the same allocator for the entire program can give it optimization opportunities that may not necessarily exist with distinct library-specific memory pools. An example from Hoard's docs (mostly speed related, as opposed to space): http://www.cs.umass.edu/~emery/hoard/faqs.html I'm using the STL but not seeing any performance improvement. Why not? In order to benefit from Hoard, you have to tell STL to use malloc instead of its internal custom memory allocator: typedef list<unsigned int, malloc_alloc> mylist; For some problems library-specific allocators are very useful. You have to consider other factors as well. ____________________________________________________________________________________ Get easy, one-click access to your favorites. Make Yahoo! your homepage. http://www.yahoo.com/r/hs ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------