Author: stefan2
Date: Thu Apr 12 20:49:08 2012
New Revision: 1325507
URL: http://svn.apache.org/viewvc?rev=1325507&view=rev
Log:
Hash lookups are a relatively frequent operation. Use faster functions
to construct the hash keys.
* subversion/libsvn_fs_fs/fs_fs.c
(read_representation): use svn_fs_fs__combine_two_numbers instead of sprintf
* subversion/libsvn_fs_fs/tree.c
(locate_cache): use svn_fs_fs__combine_number_and_string instead of sprintf
Modified:
subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
subversion/trunk/subversion/libsvn_fs_fs/tree.c
Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=1325507&r1=1325506&r2=1325507&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Thu Apr 12 20:49:08 2012
@@ -3624,8 +3624,9 @@ read_representation(svn_stream_t **conte
{
svn_stringbuf_t *fulltext;
svn_boolean_t is_cached;
- fulltext_cache_key = apr_psprintf(pool, "%ld/%" APR_OFF_T_FMT,
- rep->revision, rep->offset);
+ fulltext_cache_key = svn_fs_fs__combine_two_numbers(rep->revision,
+ rep->offset,
+ pool);
SVN_ERR(svn_cache__get((void **) &fulltext, &is_cached,
ffd->fulltext_cache, fulltext_cache_key,
pool));
Modified: subversion/trunk/subversion/libsvn_fs_fs/tree.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/tree.c?rev=1325507&r1=1325506&r2=1325507&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/tree.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/tree.c Thu Apr 12 20:49:08 2012
@@ -57,6 +57,7 @@
#include "tree.h"
#include "fs_fs.h"
#include "id.h"
+#include "temp_serializer.h"
#include "private/svn_mergeinfo_private.h"
#include "private/svn_fs_util.h"
@@ -154,8 +155,8 @@ locate_cache(svn_cache__t **cache,
{
fs_fs_data_t *ffd = root->fs->fsap_data;
if (cache) *cache = ffd->rev_node_cache;
- if (key && path) *key = apr_psprintf(pool, "%ld%s",
- root->rev, path);
+ if (key && path) *key
+ = svn_fs_fs__combine_number_and_string(root->rev, path, pool);
}
}