summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Kuhn <michael.kuhn@ovgu.de>2021-09-16 17:41:10 +0200
committerGitHub <noreply@github.com>2021-09-16 09:41:10 -0600
commitd73fe19d931f22307e5118b3f788304665de2db1 (patch)
tree07109dc0fb9de64083a6df480c546c7d3ce8263f
parent5b211c90f5b30dc3866b5d72185fe7ab6108ad46 (diff)
downloadspack-d73fe19d931f22307e5118b3f788304665de2db1.tar.gz
spack-d73fe19d931f22307e5118b3f788304665de2db1.tar.bz2
spack-d73fe19d931f22307e5118b3f788304665de2db1.tar.xz
spack-d73fe19d931f22307e5118b3f788304665de2db1.zip
Recommend Git's manyFiles feature (#25977)
Git 2.24 introduced a feature flag for repositories with many files, see: https://github.blog/2019-11-03-highlights-from-git-2-24/#feature-macros Since Spack's Git repository contains roughly 8,500 files, it can be worthwhile to enable this, especially on slow file systems such as NFS: ``` $ hyperfine --warmup 3 'cd spack-default; git status' 'cd spack-manyfiles; git status' Benchmark #1: cd spack-default; git status Time (mean ± σ): 3.388 s ± 0.095 s [User: 256.2 ms, System: 625.8 ms] Range (min … max): 3.168 s … 3.535 s 10 runs Benchmark #2: cd spack-manyfiles; git status Time (mean ± σ): 168.7 ms ± 10.9 ms [User: 98.6 ms, System: 126.1 ms] Range (min … max): 144.8 ms … 188.0 ms 19 runs Summary 'cd spack-manyfiles; git status' ran 20.09 ± 1.42 times faster than 'cd spack-default; git status' ```
-rw-r--r--README.md2
-rw-r--r--lib/spack/docs/getting_started.rst2
-rw-r--r--lib/spack/docs/index.rst2
3 files changed, 3 insertions, 3 deletions
diff --git a/README.md b/README.md
index 7c55157eba..7e3fe88a43 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ for examples and highlights.
To install spack and your first package, make sure you have Python.
Then:
- $ git clone https://github.com/spack/spack.git
+ $ git clone -c feature.manyFiles=true https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install zlib
diff --git a/lib/spack/docs/getting_started.rst b/lib/spack/docs/getting_started.rst
index c1585a0fb4..ba5b93a567 100644
--- a/lib/spack/docs/getting_started.rst
+++ b/lib/spack/docs/getting_started.rst
@@ -35,7 +35,7 @@ Getting Spack is easy. You can clone it from the `github repository
.. code-block:: console
- $ git clone https://github.com/spack/spack.git
+ $ git clone -c feature.manyFiles=true https://github.com/spack/spack.git
This will create a directory called ``spack``.
diff --git a/lib/spack/docs/index.rst b/lib/spack/docs/index.rst
index fb9c669c12..dcebcdfb33 100644
--- a/lib/spack/docs/index.rst
+++ b/lib/spack/docs/index.rst
@@ -39,7 +39,7 @@ package:
.. code-block:: console
- $ git clone https://github.com/spack/spack.git
+ $ git clone -c feature.manyFiles=true https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install libelf