Dana napisał(a):
Wyjaśnij, może faktycznie coś ważnego mi umknęło. Bo nie potrafię sobie wyobrazić dlaczego posiadanie "śmieci" w pamięci z których się nie korzysta miałoby być lepsze od posiadania wolnego miejsca. Chociażby dlatego że ładowanie danych do wolnego miejsca w pamięci jest wydajniejsze niż jego uprzednie zwalnianie.
Po kolei. System plikow jest cachowany, bo wbrew pozora najwiecej operacji wykonujesz na nim. Czy to odczytujac mp3, czy ladujace gre(sic!), czy tez szuakajc czegos na dysku.| Duzo latwiej uzyskac dostep, do danych w ramie, niz do danych ktore sa na dysku (moze nie tyle latwiej, co szybciej).
Pozatym, jesli przez smieci rozumiesz, niepotrzebne uslugi, programy etc, to masz racje. Jak nie sa ci potrzebne to je wylacz. Chodzi o to, ze Systemy unixowe (a potem nieudalnie Vista, i udanie Win 7), cachuja, dane z dysku (Microsoft, nazwal to szumnie prefetch), celem szybszego dostepu do nich i szybszego uruchamiania.
Po drugie najwieksze straty wydajnosci, sa nie tyle na zwalaniu i zaplenianiu ramu, co na przelczaniach kontekstu. Co zeszta dzieje praktycznie zawsze i powoduje, ze aplikacja, nic nie moze zrobic, bo musi czekac, az procesor jej laskawie pozwoli.
Tak czy inaczej, straty wydajnosci z powodu zwalniania ramu sa minimalne, bo system autmatycznie usuwa najstarsze dane z ramu(te o najstarszej dacie modyikacji), albo przenosi je do SWAP. Tak czy inaczej w czasie ladowania aplikacji, ma ona dosc wolnego ramu na start, a system moze zwolnic dodatkowe zasoby dla niej. Wydajnosci nie tracisz praktycznie wcale. (napewno nie tyle, co w czasie przelaczania kontsktu bo program uzytkonika proboje miec dostep do sterownika i trzeba czekac, to sa oczywiscie, wartsci smiesznie male, ale dla procesora to sa cale wieki).
Oczywiscie pomijam tu dziwadła w stylu Vista, gdzie ten element delikatnie mowiac nie działał :E.