Подтвердить что ты не робот

Git против меркуриальной производительности

Существуют ли какие-либо тесты производительности?

Я хочу создать репо и зафиксировать/нажать для устаревшего кода, который выполняет несколько концертов.

Является ли более быстрым/незаметным и т.д.?

Прошу прощения, если это слишком расплывчато...

4b9b3361

Ответ 1

Правильная производительность для измерения DVCS (которая все равно выполняет все операции локально) является одной из ваших ежедневных задач:

Исходная производительность основных операций не так важна, если вы понимаете границы DVCS: у вас не может быть одного репо, в которое вы бы поместили все (все проекты или все файлы вроде двоичных файлов).
Необходимо провести некоторую реорганизацию модулей, чтобы определить правильное количество репо на "модули" (когерентные наборы файлов).

Ответ 2

Вы не выбираете между git и mercurial из-за производительности. Они оба хороши.

Просто делайте то, что вы делаете и измеряете. Вероятно, вы получите наибольшее изменение производительности при первом импорте - это не имеет большого значения. Продолжайте рыть.

Пространственно, одно место git, безусловно, победит, если у вас есть один и тот же контент во множестве разных путей в его жизни. То есть, если ваши несколько концертов файлов перемещаются. git модель поддерживает это лучше, чем hg. Это очень хорошо для вас не имеет значения.

В обоих случаях вам следует подумать о том, действительно ли ваши несколько концертов репозитория представляют исходный код для одного проекта.

Но опять же, было бы неразумно выбирать между этими двумя подобными и активными проектами из-за сырой производительности.

Ответ 3

Было проведено сравнение производительности Mercurial и Git (в январе 2011 г.). Вывод состоит в том, что Mercurial дает более устойчивую производительность, чем Git, но Git в среднем быстрее.

Ответ 4

Как указано в ответе @MartinGeisler в его ответе, время фиксации очень мало (если вы передаете через командную строку, вы немедленно вернете оболочку).

Что занимает довольно много времени, это сеть clone s/push es/pull s. Google опубликовал небольшой контрольный показатель (см. Сноску 1), когда им пришлось выбирать код DVCS для Google, но он довольно старый (лето 2008 г.).

Ответ 5

Эрик Синк опубликовал результаты теста для SVN, Bazar, Mercurial, Git и его собственной достоверности.

К сожалению, это всего лишь одна операция (фиксация) с одной базой кода (Valgrind), и я не уверен, какую версию он использовал для всех этих VCS, но в любом случае она должна быть довольно старой, поскольку статья датируется до 2011 года. Полагаю, именно поэтому сам Эрик определяет их "Смешно ненаучные тесты". Во всяком случае, для чего это стоит:

SVN намного медленнее остальных (почти 22 секунды), но все остальные аналогичны (от 3 до 5 секунд). Git, безусловно, самый быстрый, а в процентах он даже намного быстрее Mercurial (что занимает 43% больше времени), но на самом деле мы говорим о разнице в 1,4 секунды - вряд ли заметно.

Кроме того, я не могу найти источники прямо сейчас, но я несколько раз читал, что Git работает быстрее, хотя разница тривиальна (что подтверждает этот тест, сделанный Эриком). Поэтому я не стал бы слишком беспокоиться о скорости при выборе того, с кем идти.