libgit2/tests-clar/core
Russell Belfer 2bc8fa0227 Implement git_pool paged memory allocator
This adds a `git_pool` object that can do simple paged memory
allocation with free for the entire pool at once.  Using this,
you can replace many small allocations with large blocks that
can then cheaply be doled out in small pieces.  This is best
used when you plan to free the small blocks all at once - for
example, if they represent the parsed state from a file or data
stream that are either all kept or all discarded.

There are two real patterns of usage for `git_pools`: either
for "string" allocation, where the item size is a single byte
and you end up just packing the allocations in together, or for
"fixed size" allocation where you are allocating a large object
(e.g. a `git_oid`) and you generally just allocation single
objects that can be tightly packed.  Of course, you can use it
for other things, but those two cases are the easiest.
2012-04-25 10:42:37 -07:00
..
buffer.c Update clar and remove old helpers 2012-04-17 10:35:11 -07:00
dirent.c Clean up GIT_UNUSED macros on all platforms 2012-03-02 15:51:55 -08:00
errors.c Update clar and remove old helpers 2012-04-17 10:35:11 -07:00
filebuf.c error-handling: References 2012-03-06 00:43:10 +01:00
hex.c Rename the Clay test suite to Clar 2012-01-24 20:35:15 -08:00
oid.c Migrate index, oid, and utils to new errors 2012-03-19 16:10:11 -07:00
path.c Update clar and remove old helpers 2012-04-17 10:35:11 -07:00
pool.c Implement git_pool paged memory allocator 2012-04-25 10:42:37 -07:00
rmdir.c fileops: Make git_futils_mkdir_r() able to skip non-empty directories 2012-04-10 21:39:05 +02:00
string.c Rename the Clay test suite to Clar 2012-01-24 20:35:15 -08:00
strtol.c Rename the Clay test suite to Clar 2012-01-24 20:35:15 -08:00
vector.c Rename the Clay test suite to Clar 2012-01-24 20:35:15 -08:00