bzr-explorer performance question
John Arbash Meinel
john at arbash-meinel.com
Sun Jun 27 20:52:04 BST 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
...
> Step 4A: refresh working pane in bzr-explorer
> -- a few seconds (less than 10sec) for Ubuntu
> -- 4.5 minutes for Windows (!)
>
...
> Since the test conditions are anecdotal (but the results are
> reproducible!) the only result I am really concerned about is in step
> 4. It appears that refreshing the "status window" takes a very long
> time on Windows, during which one core of the CPU is saturated. But
> doing a 'bzr stat' on the very same trunk on Windows is fast. Could
> there be something strange about how bzr-explorer builds the status?
> What exactly could 'refresh' be doing which could take 4.5 minutes?
>
> Thanks.
> ~M
>
One thing to check. Do:
bzr co --lightweight $SOURCE new-workingtree
cd new-workingtree
time bzr status
And see what the timing is. The specific thing we are looking for is the
time of the *first* status.
It is *possible* that we aren't getting the timestamp => sha1 cache
getting written correctly during the checkout. Which is causing us to
recompute the sha1 sum of your entire tree.
IIRC, the potential issue is because:
f = open('foo', 'rb')
st1 = os.fstat(f)
st2 = os.lstat('foo')
On everything but Windows, those give identical results. However on
Windows, they might differ. And IIRC the way that they differ is
different for different versions of python. (2.5 used st_dev, 2.6 uses
st_ino, or something along those lines.)
Anyway, if you are experiencing this:
a) We can fix it by just ignoring those fields, but we need to know what
to ignore.
b) It should only effect the first status/refresh that you do. All
others should still be in the 'couple of seconds' range.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkwnq+QACgkQJdeBCYSNAAMk3wCgnQwRAGQ13EdhEPkKvyexoOaV
k8oAnA3BlouiVAi6M5r9Mcgw06xQGY4t
=mbIh
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list