Log Message: |
As it turns out, allocating memory from the OS in a multi-threaded
environment is relatively costly. With APR pools, this happens
every time we use a newly created root pool.
Therefore, teach svnserve to recycle the connection pools, keeping
those precious memory blocks allocated instead of disposing and
re-allocating them.
* subversion/svnserve/svnserve.c
(connection_pools,
connection_pools_mutex): new global data structures
(initialize_connection_pools,
acquire_connection_pool_internal,
acquire_connection_pool,
release_connection_pool): functions to init, get and recycle the pools
(release_shared_pool,
main): recycle!
|