Mój szef powiedział, że kopiowanie dwóch plików zajmuje więcej czasu niż wykonywanie jednego, a potem drugiego, ponieważ dysk twardy musi ciągle przełączać głowę między dwiema lokalizacjami na dysku. Czy to prawda? Wydaje mi się, że system operacyjny powinien być wystarczająco inteligentny, aby to naprawić (tzn. Powinien umieć je kopiować sekwencyjnie). Czy to prawda, gdy kopiujesz na dysk podłączony do portu USB?
EDYCJA: czy są jeszcze jakieś inne czynniki dotyczące systemu plików, które uwzględniają? Na przykład czy robi to różnicę, kopiując 1 katalog zawierający 10 plików, czy kopiując 10 plików z całego dysku? Zastanawiam się tylko nad jednym nośnikiem źródłowym i jednym nośnikiem docelowym (brak odczytu z wielu dysków).
hard-drive
performance
file-transfer
Celeritas
źródło
źródło
Odpowiedzi:
Odłożę cię na to pytanie . Wydaje się, że jednoczesne uruchomienie dwóch operacji kopiowania na tym samym dysku (choć rozpoczęte przez osobne operacje kopiowania) rzeczywiście zająłoby więcej czasu w wyniku opóźnienia generowanego przez głowę szukającą w przód iw tył między konkurującymi operacjami.
Jeśli jednak operacje kopiowania są uruchamiane jednocześnie, znaczna większość współczesnych systemów operacyjnych jest, jak powiedziano, wystarczająco inteligentna, aby umieszczać w kolejce transfery jeden po drugim i powinna zapewnić nieco szybszy czas kopiowania.
Najwyraźniej istnieje wiele aplikacji, które zmuszają operacje kopiowania plików do kolejkowania i wykonywania po kolei, takie jak Teracopy i FastCopy
Wykonywanie jednoczesnych operacji kopiowania na wielu woluminach fizycznych to jednak zupełnie inna sprawa. Podobnie jak przesyłanie plików za pomocą alternatywnych protokołów.
Jeśli chodzi o pytanie dotyczące kopiowania na dysk podłączony do portu USB, jest to w dużej mierze zależne od rodzaju pamięci używanej przez dysk i wykorzystywanej specyfikacji USB (z pewnością godne uwagi wąskie gardło dla USB 1.0 i 2.0), a także wcześniej wymienione czynniki dotyczące wolumenu źródła kopiowania.
źródło
Istnieje tutaj wiele czynników, które mogą mieć na to wpływ.
Jeśli chodzi o to, czy system operacyjny jest wystarczająco inteligentny, aby to naprawić, ogólnie rzecz biorąc, są. Oznacza to, że jeśli kopiujesz wiele plików jednocześnie (np. Pomyśl o wybraniu wielu plików jednocześnie i przeciągnij i upuść).
Oczywiście, jeśli
cp
uruchomisz dwa polecenia, uruchomią one dwa polecenia lub w systemie Windows, jeśli skopiujesz / wkleisz osobne pliki i uzyskasz dwa okna postępu „kopiowania” na ekranie, wówczas optymalizacja nie nastąpi. W takim przypadku wyraźnie powiedziałeś systemowi operacyjnemu, że chcesz uruchomić dwie kopie jednocześnie, więc nie będzie decydować, że jedna kopia jest ważniejsza od drugiej i nie zaczniesz ich umieszczać w kolejce.źródło
Jeśli wielokrotnie wybierzesz i skopiujesz - albo z graficznego interfejsu użytkownika, albo za pomocą polecenia takiego jak „kopiuj C: \ folder * D: \ folder \” - pliki i tak zostaną skopiowane sekwencyjnie, co sprawi, że pytanie będzie dyskusyjne.
Jeśli skopiujesz niektóre pliki, a podczas ich kopiowania zacznij kopiowanie kolejnych plików - albo przez dwie oddzielne operacje z GUI, albo przez dwie osobne komendy uruchomione jednocześnie, jak „cp -r / usr / bin / / opt / bin / & cp -r / usr / local / bin / / opt / local / bin / "- wtedy twoja wydajność prawie na pewno spadnie - może nieco (może być to wysokiej klasy dysk SSD, duże pliki w obu operacjach kopiowania) lub może TON (wirujący dysk, stosunkowo małe pliki w jednej lub obu operacjach). Lepsze systemy operacyjne mogą w pewnym stopniu złagodzić spadek wydajności - na przykład współczesne jądra Linuksa używają harmonogramu we / wy CFQ (Całkowicie uczciwa kolejkowanie), który do pewnego stopnia blokuje operacje wsadowe w celu zwiększenia wydajności - ale nadal będziesz podejmować hit wydajności. W niektórych przypadkach trafienie może być OGROMNE,
TL; DR - uruchamiaj tylko jedną operację kopiowania na raz, niezależnie od liczby poszczególnych plików zawartych w tej operacji , jeśli martwisz się o wydajność.
źródło