Comment 1 for bug 187106

Revision history for this message
Alexander Belchenko (bialix) wrote : Re: [Bug 187106] [NEW] bzr from standalone installer has poor performance on Vista

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Paul Pelzl пишет:
| The bzr 1.0 standalone installer yields a bzr installation that can
| perform very poorly on Windows Vista. Any bzr command, even "bzr help",
| takes about two minutes to complete on a modern PC.

I think it's too long.

| When a command is executed, bzr produces no output for a long period of
| time. In the task manager, I can see that bzr.exe CPU usage is near
| zero. The memory usage increases very slowly to about 10MB, and then
| suddenly the command begins execution with performance comparable to
| what I have seen on Windows XP boxes.

So you think there is slow startup?

| Using the Python 2.5-based installer on Vista, there were no performance
| problems.

Good to know.

| My working theory is that this is a manifestation of a Vista bug that leads to extremely slow zip
archive extraction:
| http://www.google.com/search?q=vista+zip+slow

Actually we don't use built-in Vista support for extracting zip files. bzr.exe is used builtin
gzip library. I don't know though on which system dll it depends.
All rants about Vista unzip slowness related to built-in Vista unzip.
I want to note it again: we don't use built-in unzip. bzr.exe has its own unzip inside.

| Extracting "library.zip" from the installation directory using WinAce is also extremely slow
(curiously, it completes very quickly if library.exe is copied outside of the Program Files tree and
extracted from a different location).

That leads me to conclusion that Vista has some weird policy re Program Files folder.
May be some sort of security/viruses protection.
Also our bzr.exe does not use XP Manifest declaration. May be we should finally add it.

Paul, can you check my thoughts about Program Files policy by reinstalling bzr.exe outside of
Program Files in any other folder, e.g. to C:\Bazaar\ and then check performance again.

Also you could use my utility timeit[1] for measuring actual execution time.
(I recommend to use `bzr rocks` command for testing).
Use it in this manner:

timeit bzr rocks

(i.e. just prepend timeit to usual bzr invokation).

I don't have Vista box around but may be on the next week I'll have the chance to
install and run bzr.exe on Vista notebook of my big boss.

Also I'd like to see output of bzr import profiler. Just run any command
with global flag --profile-imports and then show us results. E.g.:

bzr --profile-imports rocks

If the problem is actually in extracting files from library.zip then I can
change our build process to not use library.zip at all and put all files
to the filesystem. (But usually zip works faster on XP).

[1] timeit: http://bialix.com/timeit/timeit.exe

 status incomplete
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHn3YJzYr338mxwCURAp+IAJ9rf3+Nex8N4IvtrdOyMejx/1aPYwCfeAw3
XxILrvJV+RsJQT43ciuGA3o=
=Gv6G
-----END PGP SIGNATURE-----