Я создал большое количество файлов, используя этот Python script, который я использовал в основном для сравнения Git.
Результат очень удивителен, особенно различия между Windows и Linux.
В основном мой script создает 12 каталогов с 512 файлами в каждом из них. Каждый файл составляет от 2 до 4 кБ. С объектами Git репозиторий составляет около 12 тыс. Файлов.
Я сравнивал:
- Время добавления всех файлов в Git
git add .
- Время проверки предыдущей ветки
- Время копирования репозитория на том же SSD
- Время для копирования репозитория на внешний жесткий диск SATA (NTFS)
Я сделал это с тем же самым репозиторием как на Windows 10, так и на Linux:
Operation Linux Windows Ratio
--------- ----- ------- -----
1. git add . 0.47s 21.7s x46
2. git checkout HEAD~1 0.35s 16.2s x46
3. git checkout . 0.40s 20.5s x50
4. cp -r ssd->ssd 0.35s 1m14s x211
5. cp -r ssd->hdd 4.90s 6m25s x78
Операция выполнялась в следующем порядке:
$ mkdir test
$ cp test.py test && cd test
$ ./test.py # Creation of the files
$ git init
$ time git add . # (1)
$ git commit -qam 1
$ ./test.py # Alter some files
$ commit -qam 2
$ cd ..
$ time cp -r test /media/hdd/ # (4)
$ time cp -r test test2 # (5)
$ cd test
$ time git checkout HEAD~1 # (2)
$ ./test.py
$ git checkout master
$ git reset --soft head~1
$ time git checkout . # (3)
Тест был сделан на том же ПК (с использованием двойной загрузки).
Почему такие различия? Я не могу в это поверить.