[PATCH 09 of 10] store: reduce string concatenation when joining
Bryan O'Sullivan
bos at serpentine.com
Thu Sep 13 14:01:22 CDT 2012
# HG changeset patch
# User Bryan O'Sullivan <bryano at fb.com>
# Date 1347562631 25200
# Node ID 2e017b25e1c9c13566990d601deafb24c2f665c5
# Parent 168fa28b4620b30505e8284bcee5a0cf0d0b6338
store: reduce string concatenation when joining
This improves stream_out performance by a couple of percent.
diff --git a/mercurial/store.py b/mercurial/store.py
--- a/mercurial/store.py
+++ b/mercurial/store.py
@@ -390,6 +390,7 @@
def __init__(self, path, openertype, encode):
self.encode = encode
self.path = path + '/store'
+ self.pathsep = self.path + '/'
self.createmode = _calcmode(self.path)
op = openertype(self.path)
op.createmode = self.createmode
@@ -398,10 +399,10 @@
self.opener = _fncacheopener(op, fnc, encode)
def join(self, f):
- return self.path + '/' + self.encode(f)
+ return self.pathsep + self.encode(f)
def getsize(self, path):
- return os.stat(self.path + '/' + path).st_size
+ return os.stat(self.pathsep + path).st_size
def datafiles(self):
rewrite = False
More information about the Mercurial-devel
mailing list