Czemu git śmiga na macu 100x szybciej niż na Windowsie?

2

Zauważyłem taką zależność. Jak robię commity, albo pracuję z interactive rebase (git rebase -i), nie ważne czy z command line'a czy z GUI z IntelliJ'a, na macu po prostu klikam "Ok" i jest (albo klikam "Enter") i jest. To nawet nie jest 0.5 czy 0.25 sekund. Jak klikniecie myszką.

Ale jak pracuję w domu, na prywatnym kompie na windowsie, to commity już nie są takie szybkie, a git rebase -i wydaje mi się jakby był tym dłuższy im więcej commitów rebase'uję ;o

Nie mam takiego słabego kompa ten windows, np ssd mam 3500Mb/s, procesor i7'ka 7dmej generacji HQ, niedawno wymieniłem kości RAM z 10tki na 7ki (opóźnienia) Więc nie wiem z czego to może wynikać ;|

Czyżby sam git.exe był tak super wolniejszy niż unixowy odpowiednik?

0

Może jakieś problemy z siecią?
Kiedyś na Windows była znacząca różnica w wydajności pomiędzy 127.0.0.1 a localhost.

4

Raczej nie problemy z siecią, bo lokalny rebase tez dlugo trwa.

A co do tematu. Ile tych commitów czy rebasów robisz dziennie żeby to mialo mieć znaczenie? Czy po prostu chcialeś nam oznajmić jaki to Mac jest fajny?

4

Moze masz antywirusa ? :)

4

Windows Defender skanujący katalogi z repo?

1

Podobny przypadek: mam na dual boocie Windowsa 10 i Minta 19. Na Linuxie KeePass otwiera bazę w ok. 2 sekundy, a na Windowsie w kilkadziesiąt (ta sama baza, wyłączony AV).

0

@Potat0x: w zakresie zestawienia Win10 i Mint19 - mam taki sam zestaw, dual boot na laptopie. Bardzo wyraźnie widać różnice w prędkości działania AndroidStudio, odpalania emulatora i ogólnym komforcie użytkowania.

2

To jeszcze może być coś ze sterownikami np. karty graficznej. Zasadniczo jednak Git był pisany na Linuxie i systemy tego typu lepiej sobie radzą z systemami plików i operacjami na nich. NTFS jest już dość stary w porównaniu do coraz nowszych ext. Git trzyma historię w plikach - w dużej ilości, więc jest to na korzyść Linuxów i Maka.

Swoją drogą - Ty piszesz w PHP to czemu pracujesz prywatnie na Windowsie? Ja pracuję z domu na Ubuntu, a mam Win 10 tylko do gier ;)

8

Git jest stworzony i zoptymalizowany dla linuksa/uniksa, bazuje na wielu małych pliczkach i wykonuje operacje stat wiele razy które są błyskawiczne na linux/unix ale niestety bardzo wolne na windowsie

Microsoft stworzył z tego powodu własny wirtualny system plików dla gita żeby przyspieszyć działanie gita w swoich własnych projektach - możesz wypróbować
https://vfsforgit.org/
https://github.com/microsoft/VFSForGit

Osobiście nie testowałem, ale wygląda obiecująco jeśli performance naprawdę Ci doskwiera - u mnie w firmie git jest mega wolny ale to nie wina windowsa tylko serwera bo to na operacjach serwerowych jest w moim przypadku stracona większość czasu. Brałem pod uwagę postawienie lokalnego klona repozytorium działającego jako proxy - są takie rozwiązania gotowe ale i tak wymagają sporo konfiguracji więc pewnie trochę jeszcze upłynie czasu zanim się podejmę próby

2

Coś jest na rzeczy
U mnie odpalone na tej samej maszynie
git 2.17.1
time git status
odpalone na folderze z ghc (to gruby projekt)

ubuntu na windows (wls)

real    0m2.414s
user    0m0.078s
sys     0m4.672s

Folder wyłączony w defenderze - innych antywirusów nie mam.

linux (pod vmware)

real    0m0.121s
user    0m0.076s
sys 0m0.085s

Może dlatego nawet nie przychodzi do głowy mi developowanie na windows.
Czasem sprawdzam tylko pod windows jak to jest z tym write once run anywhere ...

EDIT:
Nudziło mi się - i po 15tu restartach, kilku unistallach (1.5 godziny życia w plecy) - zadziałało wsl2

real    0m0.192s
user    0m0.046s
sys     0m0.067s

Czyli czasy porównywalne z ubuntu pod vmware. Coś tam jednak się zmienia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0