Mercurial 与 Subversion.谁的表现更好? [英] Mercurial vs Subversion. Whose performance is better?

查看:43
本文介绍了Mercurial 与 Subversion.谁的表现更好?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有很多关于 SVN 与 Hg 的文章.我想专注于性能.

有实际经验者优先.

这是我的设置:

(未来设置)带有 IIS 的 Windows 来自 Hg

(当前设置) SVN 1.3.2 在 windows 下的 apache 之上

我想要统计,用于大多数公共操作(提交、统计、本地/远程拉取、推送等...).我不太确定 Hg 最常见的操作是什么.

性能对我们来说不是唯一重要的事情,但它非常重要,可能是转换为 Hg 的关键决策点.

不过,我想看看一些统计数据.克隆 5 GB 的 repo 需要多少日志?或类似的东西.

解决方案

这取决于很多因素(不,合并不是最常见的操作 - 提交是,将更改放入事物中是最重要的即使 DVCS 系统确实将所有时间都花在了合并上下游的部分上).

所以,首先你需要升级你的SVN.这很简单,一旦你在你的 repo 上运行了svnadmin pack",你就可以正确地进行比较.1.3.2古!(当前版本为 1.6.11)

其次,您需要决定推送和拉取大型存储库对您来说是否重要.例如,我有一个 12 Gig 存储库要管理.幸运的是,svn 允许我们只获取其中的一部分,而不是全部,因此对它的管理有了很大改进.

此外,v1.7 中还有显着的性能改进(很快就准备好了),因为性能并不是 SVN 人员的优先考虑事项,他们确实在添加功能并确保坚如磐石的稳定性.现在,性能是一个问题,正在得到解决.查看开发邮件列表以查看.稍等片刻(或使用您的存储库副本对其进行评估)可能值得您花点时间.

您看,性能可能与您的系统相同.它可能会在 IO 上遇到瓶颈,这也是 svn 通常失败的地方(我认为开发邮件列表确实有一些性能数据来自一个带有 raid-0 SSD、24 Gb RAM 的怪物服务器的小伙子,奇怪的是它在 CPU 上遇到了瓶颈!)

总而言之,您必须弄清楚您的工作流程和流程.如果 Mercurial(这是一个不错的选择)为您提供了它,那就太好了,那就去做吧.但是,如果没有,那么无论迁移速度有多快,迁移都无济于事.

There are a lot of articles about SVN vs. Hg in general. I would like to concentrate only on performance.

Real-live experiences preferred.

Here is my set-up:

(future setup) Windows with IIS fro Hg

(current setup) SVN 1.3.2 on top of apache under windows

I would like to have statistics for most commons operations (commits, stats, local/remote pulls, pushes, etc...). I am not really sure what are the most common operations for Hg.

Performance is NOT the only thing that matters to us but it is highly import and may be the crucial decision point in switching to Hg.

However, I would like to see some statistics. How log did it take to clone repo of 5 gb? or something like that.

解决方案

It depends on so many factors (and no, merging isn't the most common operation - commit is, putting your changes into the thing is the single most important part of it even if DVCS systems do spend all their time merging up and downstream).

So, firstly you need to upgrade your SVN. That's easy, and once you've run 'svnadmin pack' on your repo you'll be able to compare properly. 1.3.2 is ancient! (current version is 1.6.11)

Second, you need to decide whether pushing and pulling large repositories about is important to you. For example, I have a 12 Gig repo to manage. Fortunately, svn allows us to only fetch parts of that, not the whole thing, so management of it is much improved.

Also, there are significant performance improvements coming in v1.7 (ready oh so soon), as performance hasn't been a priority for the SVN guys, they're really been adding features and ensuring rock-solid stability instead. Now, performance is an issue and is being addressed. Take a look on the dev mailing list to see. It might be worth your while to wait a little (or evaluate it using a copy of your repo).

You see, performance may well be the same with your system. It could be bottlenecked on IO which is where svn usually fails (thought the dev mailing list does have some perf figures from a chap with a monster server with raid-0 SSDs, 24 Gb RAM and strangely enough it's bottlenecked on CPU!)

So all in all, you have to figure out your workflow and processes. If Mercurial (which is a good choice) provides that for you, then great, go for it. But if it doesn't, then migrating isn't going to help you no matter how much faster it might be.

这篇关于Mercurial 与 Subversion.谁的表现更好?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆