Git против меркуриальной производительности
Существуют ли какие-либо тесты производительности?
Я хочу создать репо и зафиксировать/нажать для устаревшего кода, который выполняет несколько концертов.
Является ли более быстрым/незаметным и т.д.?
Прошу прощения, если это слишком расплывчато...
Ответы
Ответ 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 работает быстрее, хотя разница тривиальна (что подтверждает этот тест, сделанный Эриком). Поэтому я не стал бы слишком беспокоиться о скорости при выборе того, с кем идти.