Martin Lechowicz

Im szybszy komputer tym wolniej chodzi

Mój niedawny wpis o firewallach mógł być dla niektórych irytujący. Nie zdziwiło mnie to. Domyślałem się, że wiele osób jest emocjonalnie związanych ze swoim firewallem. Niektórzy nawet traktują atak na firewalla na równi z obrazą uczuć religijnych.

To zupełnie normalne. U komputerowych socjopatów, oczywiście.

Kiedy byłem mały to prowadziliśmy wojny o to co jest lepsze ZX Spectrum, Commodore czy Atari. Potem przyszły czasy Amigi. Wtedy toczyły się wojny przeciwko Atari ST i badziewnemu PC.

Tylko badziewny PC o nic nie walczył. Wisiało mu to. I tak było wiadomo, że wygra.

Ale tym razem sprawa chyba nie wywoła emocji, bo jest jasna, sprawdzalna i oczywista.

Historia zaczyna się od tego, że mój komputer był za wolny. Nie, to zły początek - każdy komputer jest za wolny. Ale mój był za wolny w stosunku do moich potrzeb, w szczególności do obróbki video, która (zwłaszcza w wyższych rozdzielczościach) potrzebuje naprawdę potężnej mocy.

Wymieniłem więc bebechy: stary procesor marki AMD odszedł, przyszedł nowy Intel Core i7.

I okazało się po tej operacji, że co prawda obróbka działa o wiele szybciej, ale za to komputer uruchamia się dwa razy dłużej.

Żyłem z tym fenomenem, aż w końcu powiedziałem do swej duszy: "no bez jaj". Dusza się zgodziła i postanowiliśmy razem zrobić eksperyment. Wyłączyłem na próbę trzy rdzenie procesora, i zostawiłem jeden.

Komputer uruchomił się cztery razy szybciej.

Intuicyjnie rzecz biorąc wydaje się to wbrew logice, ale wytłumaczenie jest logiczne i proste.

Współczesny system komputerowy składa się z płyty głównej (która organizuje całą robotę), procesora (który robi całą robotę), pamięci (która pamięta krótko, ale tak szybko jak się da), dysku (który pamięta tak dużo jak się da) i różnych urządzeń.

To, jak szybko działa komputer zależy od prędkości wszystkich czterech głównych elementów i dobrej współpracy między nimi.

Podczas uruchamiania systemu procesor wczytuje dane z dysku, mieli je, mieli i zapisuje do pamięci. Komunikacją między procesorem, dyskiem i pamięcią zajmuje się płyta główna.

I zgodnie z logiką prędkość całości zależy od najwolniejszego elementu.

Co jest tym najwolniejszym elementem systemu w twoim nowoczesnym komputerze? Zgadnij.

Czy wymiana procesora na szybszy sprawiłaby, że komputer uruchamiałby się wyraźnie szybciej. Nie.

To możne wymiana pamięci? Gdzie tam.

Płyta główna? Też jakieś grosze?

Więc co? Twardy dysk, oczywiście.

To cholerstwo jest tak wolne, że przy uruchamianiu się systemu wszystko inne dosłownie śpi. Procesor ziewa pracując na poziomie 10% wydajności, a pamięć błaga o więcej danych, bo jej zimno i chciałaby się rozgrzać.

Wszyscy czekają, a dysk pracuje na 100% mocy.

I teraz przedstawiam paradoks: im lepszy jest procesor, tym wolniej pracuje dysk.

A dokładniej mówiąc: im więcej rzeczy procesor robi jednocześnie, tym bardziej odczuwalnie wszystko zwalnia.

Żeby to zrozumieć, spróbuj odpowiedzieć sobie na pytanie: jeżeli wczytanie z dysku jakiegoś programu zajmuje 1 sekundę, to ile czasu zajmie wczytanie czterech takich programów jeden za drugim?

Cztery sekundy? Dobrze.

A teraz: ile czasu zajmie wczytanie ich nie po kolei, ale jednocześnie?

Otóż nie cztery. O wiele, wiele dłużej. Dlatego, że cztery rdzenie procesora potrafią pracować w tym samym czasie, ale twardy dysk nie. Jeżeli każej mu wczytywać z czterech miejsc jednocześnie, to będzie próbował odczytywać dysk po kawałku, latając kilka razy na sekundę od jednego programu do drugiego.

To tak jakby kazać facetowi kopać dół w czterech różnych miejscach jednocześnie, oddalonych od siebie o parę metrów. Jeżeli będzie kopać jeden po drugim, to będzie w miarę szybko. Ale jeżeli po każdym machnięciu łopatą będzie musiał drałować do następnego miejsca, żeby tam pokopać parę sekund i lecieć znowu dalej, to cała robota zajmie wieki.

Podobnie działa dysk, kiedy każe mu się odczytywać kilka plików jednocześnie. Pliki nie czekają grzecznie w kolejce. One próbują się wczytywać jednocześnie.

Dlatego właśnie szybki procesor z czterema rdzeniami uruchamiał mi się kilka razy wolniej niż dużo wolniejszy komputer z jednym rdzeniem. Po prostu szybkie procesory tak go zawaliły robotą, że głowice dysku ganiały jak opętane tam i z powrotem odczytując o kęsie z każdego pliku, zamiast zrobić spokojnie i po kolei.

Wniosek: jeżeli chcesz przyspieszyć swój komputer to zwróć uwagę na najwolniejszy element. Twardy dysk.

I oto nastąpił ratunek! Przełom! Cud!

Pojawiły się dyski typu SSD. Czyli po prostu pamięć flash zorganizowana w twardy dysk.

Są wciąż dość drogie. Ale już nie na tyle, żeby ich nie kupić.

Powiem krótko: kupiłem.

Dlaczego?

Bo już się nie dało. Mój komputer uruchamiał się osiem minut! Tyle trwało uruchamianie wszystkich potrzebnych programów. Przez cały ten czas dysk twardy był zajęty na minimum 80%. Fakt, że to komputer programisty, radiowca, muzyka, gracza i montera filmów w jednym, ale hej, bez przesady.

Kupiłem dysk SSD, skonfigurowałem system inaczej. Teraz to wszystko uruchamia się w trzydzieści sekund.

Nie tylko to: programy uruchamiają się momentalnie a nie po kilku sekundach, podczas nadawania programu na żywo mogę wreszcie zapisywać i jednocześnie odtwarzać filmy z wysokim bitrate, i co najważniejsze jednoczesne wczytywanie plików nie powoduje dramatycznego spowolnienia.

A dzieje się to dlatego, że dysk SSD to nie mechaniczny zespół dysków i głowic, tylko pamięć. Dostęp do każdej komórki pamięci trwa tyle samo i jest błyskawiczny. Nie mówiąc już o tym, że pamięć sama z siebie jest dużo szybsza niż odczyt z dysków magnetycznych.

Zobacz zresztą sam. Tak wypada porównanie moich dwóch dysków:

Dysk nr 2

Dysk nr 1

Jeżeli więc masz do wyboru kupić szybszy procesor, dokupić pamięć albo drugi dysk, to zapomnij. Najpierw kup sobie dysk SSD, a potem całą resztę.

Kilka podpowiedzi praktycznych.

  1. Jeżeli masz system Windows, to wystarczy ci dysk SSD 64 GB. System i najważniejsze programy zajmują około połowę tej pojemności.
  2. Najlepszą konfiguracją jest dysk SSD 64 GB + klasyczny dysk twardy. Dowolnie duży.
  3. System Windows zainstaluj na dysku SSD. Będzie to dysk rozruchowy C. Drugi dysk ustaw jako dysk D.
  4. Po instalacji zmień lokalizację folderów typu "Moje dokumenty", "Moja Muzyka" itd na dysk twardy. Da się to bardzo łatwo zrobić w Windows, a nie ma sensu marnować cennego miejsca na szybkim dysku rozruchowym. Poza tym łatwiej będzie ci archiwizować i przenosić swoje dane.
  5. Programy instaluj raczej na D:Program Files. Chyba, że są to mniejsze, często uruchamiane programy. Jak na przykład Chrome.
  6. Wszystkie dane przechowuj na dysku D: Najlepiej w folderach typu "Moje dokumenty". Dysk C jest do pracy, dysk D do składowania danych.
  7. Wszystkie katalogi tymczasowe danych różnych żarłocznych programów (np. graficznych lub obróbki video) ustawiaj na C. Przyspieszy to bardzo pracę. Zdziwisz się jak bardzo.
  8. Nie dopychaj dysku C do końca. W odróżnieniu od dysków magnetycznych, wolne miejsce na dyskach SSD się nie marnuje. Żeby przedłużyć żywotność pamięci flash, która ma teoretycznie limit odczytów i zapisów, kontroler rozkłada równomiernie dane po całej pamięci. Oznacza to, że teoretycznie dysk 64GB zapełniony po brzegi będzie miał dwa razy krótszą żywotność niż dysk 128GB zapełniony tylko w połowie. Dlatego, że w tym drugim przypadku, kontroler będzie mógł przenieść zawartość pamięci mocno używanej do nieużywanej części.

I tyle.

Pięknej życzę wiosny i wielu nowych rzeczy w roku 2013.

comments powered by Disqus

Zobacz też:

Martin in English!

Dla tych, co chcą poznać Polskę.

Im łatwiej się psuje tym lepsze 7

W czwartek napisałem o dysku SSD. Że to fajna rzecz i najlepszy sposób, żeby przyspieszyć komputer.

W komentarzu ktoś poruszył najczęściej poruszany lęk związany z tymi dyskami: ograniczony czas życia. Bo dyski SSD mają limit ilości zapisów. W tańszych urządzeniach do użytku domowego, do jedną komórkę pamięci można zapisać do 10 tysięcy razy...

© Martin Lechowicz 2016. Wszystkie prawa i tak dalej.