RFC: startup time - again

Alexander Belchenko bialix at ukr.net
Wed Sep 10 13:34:36 BST 2008


Adrian Wilkins пишет:
> Apologies for big post, it just poured out.... you RFCd, you're getting Cs.
> 
> The obsession about startup time... is this just a pissing contest with git?

Don't forget about hg, it's also written in Python.
(Although those guys pretends that bzr does not exists at all :-)

> The performance improvements of Bazaar on Win32 recently have been
> enormous, despite startup time being far worse there.

You about walkdirs_win32? I don't found it's too superior for my usage.
Less than 2x speed-up on my trees with my CPU and my hard drive.

> I started using Bazaar somewhere around 0.9-ish. Back then Bazaar beat
> SVN for similar operations by several integer multiples. On 1.6, it
> totally blows it away. I'm still rather envious when I work with the
> same branches on Linux and it's so much snappier, but 1.5 --> 1.6
> removed a lot of that envy.

Nice argument, but bzr's competitor is git/hg in first place.
Many people happy with centralized model of svn.

>> C
> 
> Please don't consider going to C for performance reasons. If Bazaar had
> been in C, you would not have got patches from me ; I contribute to
> Bazaar because it supports my project and because I don't want to
> maintain my own branch, not purely out of altruism. If Bazaar had been
> in C, I may even have not adopted it - regardless of the enabling
> features, I need certain things to work that just did not work on
> Windows at the start. I knew very little Python before I used Bazaar,
> but I knew enough to be confident that I could resolve my current and
> future issues with the software in a timely manner.

There is enough C code in bzrlib to make you scream. :-)

> ---- thoughts about the Windows version
> 
>> under Windows it is about 500ms.

What is this number on your machine? With python version/bzr.exe?
I think there is room for improvements.

> AFAIK this is mostly because of the monstrous overheads of process
> creation and teardown on win32. I've written *nix style pipe-process
> utilities that do little things on win32 only to be flabberghasted as
> process overhead accounts for over 50% of runtime ; just don't do it,
> especially for .NET executables. git has efforts specifically to
> "libify" as many of the discrete executables to reduce this phenonmenon
> on windows.

I think that in light of your words about overhead on process creation
and teardown there is very strong reason to have separate bzr server
and lightweight client as Robert mention in his first mail.

May be TortoiseBzr will be ultimate answer for Windows users?
I hope so and I'm strongly believe in Mark Hammond.




More information about the bazaar mailing list