Cache w komputerze - Optymalizacja oprogramowania

in #polish5 years ago

Słyszeliście kiedyś o "Cache" w komputerach? Czym jest i co nam umożliwia? O tym dowiecie się z tego materiału.

Czy programiści tylko tworzą mulące oprogramowanie?

image.png

Ostatnio opowiedziałem o tym czemu komputery z roku na rok chodzą coraz wolniej. Jednak głównie "mulenie" dotyczy oprogramowania domowego lub małych firm, gdyż duże firmy (np. Facebook czy Google) nie mogą sobie pozwolić (na ile to możliwe) na opóźnienia w działaniu. Tak więc najbardziej zoptymalizowane oprogramowanie mają głównie potężne koncerny z racji kosztów (gdyż im szybciej wykona się program tym szybciej może zająć się kolejnymi klientami lub po prostu daje odpocząć serwerowi, więc zużywa mniej prądu).

Natomiast dla SOHO i komputerów domowych tworzone oprogramowanie może być byle jakie (nawet do szpitali, gdzie wydajność nie jest najważniejsza).

Czym jest Cache?

Komputery o ile są szybkimi maszynami to nie wszystko robią w ułamki sekund, są zadania z którymi komputer radzi sobie znacznie dłużej. Na przykład załadowanie całej strony internetowej może trwać długo, gdyż komputer musi pobrać sobie np. obrazki.

Tylko, że często obrazki są elementami statycznymi strony i zawsze się pojawiają. Dla przykładu logo Steemit jest zawsze takie same i w tym samym miejscu. Jest sens z każdym kliknięciem myszy pobierać je na komputer? Oczywiście nie!

Cache to pewien mechanizm optymalizacji polegający na przechowywaniu elementów, które rzadko się zmieniają na komputerze by nie przetwarzać tego drugi raz.

Co jeszcze potrafi Cache?

image.png

Cache może "zbudować" wersję strony internetowej, by nie budować jej przy wejściu użytkownika, a wysłać ją w formie wcześniej przygotowanej. Powiedzmy, że mamy kogoś kto bloguje codziennie. Co oznacza, że można stronę "zbudować" raz na 24h zamiast marnować moce komputera na to.

W DGameMarket Cache jest tworzony (co parę minut), by z bazy Steam (38478 gier w lokalnej bazie DGMa) mieć małą bazę, która jest przetwarzana (201 elementów), przez co praca na takiej małej bazie jest znacznie szybsza. A ostatecznie jeśli produkt zostanie sprzedany to jest usuwany z bazy podręcznej.

Oczywiście przeglądarki internetowe (co wspomniałem) przechowują obrazki, ale również kod Javascript i CSS co umożliwia szybsze załadowanie strony następnym razem. Oczywiście powoduje to też pewne problemy w przypadku pisania strony, gdy coś na szybko poprawiamy, a strona nie przeładowuje się poprawnie.

Komputer sam w sobie używa na bieżąco pamięci podręcznej, np. by aplikacje szybciej wczytywać jeśli często z nich korzystamy, a jeśli brakuje w komputerze pamięci, to zwalnia ją. Stąd wiele osób ma problem ze zrozumieniem Linuksowego programu "free", który pokazuje pamięć podręczną jako zajętą.

Tak więc nie narzekajmy zawsze na programistów - prawie zawsze można ;)

Sort:  

Dobre omówienie tematu, zwięzłe, przystępne dla laików ale jednocześnie porusza głębsze tematy związane z cache, niż tylko te powierzchowne (różne rodzaje cache, problemy gdy coś zmieniamy na stronę a odwiedzającemu zmiany się nie wyświetlają etc) :)

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 64400.33
ETH 3140.71
USDT 1.00
SBD 3.93