Benchmark cp + git на linux v.s. Windows: почему такие различия?

Я создал большое количество файлов, используя этот 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)

Тест был сделан на том же ПК (с использованием двойной загрузки).

Почему такие различия? Я не могу в это поверить.