Существуют ли какие-либо тесты производительности?
Я хочу создать репо и зафиксировать/нажать для устаревшего кода, который выполняет несколько концертов.
Является ли более быстрым/незаметным и т.д.?
Прошу прощения, если это слишком расплывчато...
Существуют ли какие-либо тесты производительности?
Я хочу создать репо и зафиксировать/нажать для устаревшего кода, который выполняет несколько концертов.
Является ли более быстрым/незаметным и т.д.?
Прошу прощения, если это слишком расплывчато...
Правильная производительность для измерения DVCS (которая все равно выполняет все операции локально) является одной из ваших ежедневных задач:
Исходная производительность основных операций не так важна, если вы понимаете границы DVCS: у вас не может быть одного репо, в которое вы бы поместили все (все проекты или все файлы вроде двоичных файлов).
Необходимо провести некоторую реорганизацию модулей, чтобы определить правильное количество репо на "модули" (когерентные наборы файлов).
Вы не выбираете между git и mercurial из-за производительности. Они оба хороши.
Просто делайте то, что вы делаете и измеряете. Вероятно, вы получите наибольшее изменение производительности при первом импорте - это не имеет большого значения. Продолжайте рыть.
Пространственно, одно место git, безусловно, победит, если у вас есть один и тот же контент во множестве разных путей в его жизни. То есть, если ваши несколько концертов файлов перемещаются. git модель поддерживает это лучше, чем hg. Это очень хорошо для вас не имеет значения.
В обоих случаях вам следует подумать о том, действительно ли ваши несколько концертов репозитория представляют исходный код для одного проекта.
Но опять же, было бы неразумно выбирать между этими двумя подобными и активными проектами из-за сырой производительности.
Было проведено сравнение производительности Mercurial и Git (в январе 2011 г.). Вывод состоит в том, что Mercurial дает более устойчивую производительность, чем Git, но Git в среднем быстрее.
Как указано в ответе @MartinGeisler в его ответе, время фиксации очень мало (если вы передаете через командную строку, вы немедленно вернете оболочку).
Что занимает довольно много времени, это сеть clone s/push es/pull s. Google опубликовал небольшой контрольный показатель (см. Сноску 1), когда им пришлось выбирать код DVCS для Google, но он довольно старый (лето 2008 г.).
Эрик Синк опубликовал результаты теста для SVN, Bazar, Mercurial, Git и его собственной достоверности.
К сожалению, это всего лишь одна операция (фиксация) с одной базой кода (Valgrind), и я не уверен, какую версию он использовал для всех этих VCS, но в любом случае она должна быть довольно старой, поскольку статья датируется до 2011 года. Полагаю, именно поэтому сам Эрик определяет их "Смешно ненаучные тесты". Во всяком случае, для чего это стоит:
SVN намного медленнее остальных (почти 22 секунды), но все остальные аналогичны (от 3 до 5 секунд). Git, безусловно, самый быстрый, а в процентах он даже намного быстрее Mercurial (что занимает 43% больше времени), но на самом деле мы говорим о разнице в 1,4 секунды - вряд ли заметно.
Кроме того, я не могу найти источники прямо сейчас, но я несколько раз читал, что Git работает быстрее, хотя разница тривиальна (что подтверждает этот тест, сделанный Эриком). Поэтому я не стал бы слишком беспокоиться о скорости при выборе того, с кем идти.