##// END OF EJS Templates
branchmap: use mmap for faster revbranchcache loading...
branchmap: use mmap for faster revbranchcache loading A typical revbranchmap usage is: - load the entire revbranchmap file into memory - maybe do a few lookups - add a few bytes to it - write the addition to disk There's no reason to load the entire revbranchmap into memory. We can split it into a large immutable prefix and a mutable suffix, and then memorymap the prefix, thus saving all the useless loading. Benchmarking on some real-world pushes suggests that out of ~100s server-side push handling revbranchcache handling is responsible for: * ~7s with no change * ~1.3s with the change, without mmap * 0.04s with the change, with mmap

File last commit:

r44311:8766728d default
r52268:02e7d79e default
Show More
pyutil.h
15 lines | 228 B | text/x-c | CLexer
#include <Python.h>
#if PY_MAJOR_VERSION >= 3
#define PYCODETYPE PyObject
#else
#define PYCODETYPE PyCodeObject
#endif
namespace contrib
{
void initpy(const char *cselfpath);
PyObject *pyglobals();
} /* namespace contrib */