Bazaar-NG vs. Mercurial -- speed comparison
Alexander Belchenko
bialix at ukr.net
Thu May 18 21:08:02 BST 2006
Bryan O'Sullivan пишет:
> Alexander Belchenko <bialix <at> ukr.net> writes:
>> Hg designed for speed, Bzr -- for easy to use.
>> Probably it's very unconvincing argument to prefer bzr.
I forget this one: bzr have plugins support. Sometimes it's give
incredible ability for experiments and implementation of new features.
> Actually, if it were true, then I think bzr would have a good piece of
> differentiation on that count. However, hg is very much aimed at simplicity
> of use, too. For similar operaions, hg and bzr even have identical command
> names and options.
Yes, and no. Basic commands looks similar as long as you don't go into
detail's. And when you dive deeper in nuance you'll see that for some
actions you need to use different mental ideology. It's not totally
different but at least I'm personally looking at help of hg cannot
figure out how to get log with list of changed files (similar to bzr log
-v).
>> Hg has smaller source tree, smaller commands sets.
>
> Of course you can interpret this as either good or bad. I personally very much
> like the small command set that Mercurial provides.
I don't want to stick a label either `good' or `bad'. It's only the
fact. But from this fact I'm as average python developer may conclude
that your code should be easier and faster. And it's good. I like the
KISS principle when I see real examples of their success.
But probably another side of the mentioned fact is that core of hg
should be solid. And this might means that implementing plugins support
(plugins written in python) could contradict main principles of hg.
And your `demand load' mechanism is really good.
>> Hg has worse windows support than bzr. Actually I don't find any
>> mentions that windows support is important to hg team.
>
> It is very important, but it's also important to have core contributors who
> use Windows a lot, which I would be delighted if we had.
I can give you a little advice. You need to redistribute compiled
ready-to-use C-extension (*.pyd) for your C-modules for different
windows python versions (2.3/2.4).
There is really barrier for python enthusiast that want to hack your
code and provide patches for Windows. Because microsoft policy is
prevent to easy/free obtains C-compiler for their platforms. And Python
2.4 use another C-compiler than Python 2.3. And Python restricted to use
another C-compiler that differ from C-compiler that compile Python
itself. Despite the fact that user can point explicitly what type of
compiler he want to use, using non-native compiler cause very weird
problems with C-runtime. And because bzr is pure python, I don't have
any problems with hacking it on windows.
Another solution to avoid C-compiler dependency is to switch to using
ctypes as alternative to C-extension. In this case hg probably could
switch internally to using another interface between python and C, this
leads to slightly slowdown in this case, but it is not fatal. Providing
more alternatives to windows hackers you'll give them ability to easy
establish try-and-hack process. They don't need to seeking compiler,
install it, infinitely tuning it up to make python distutils happy.
Simply download source (yeah, in zip archive), download dependencies and
go. Even without compiler.
Second advice about windows-friendliness: if you make a cool GUI
interface ensure that it will works on Windows. Per example, for bzr
there is (brilliant) plugin named bzrk. But it require pygtk 2.8 and
pycairo (I don't remember exactly version number). You will not be
surprised if I say that this dependencies yet not ported to windows, and
bzrk on windows cannot be used?
--
Alexander
More information about the bazaar
mailing list