Jaki sys­tem nie byłby szybki to i tak zawsze użyt­kow­nik będzie miał nie­do­syt. Nooo… czemy ten pro­gram tak długo się otwiera… Muszę cze­kać całe dwie sekundy .…

Ludzie inwe­stują w pro­ce­sory, super karty gra­ficzne a tu dalej źle. Co dalej?

1. RAM

Wska­zówka dla wszyst­kich użyt­kow­ni­ków każ­dego sys­temu — pamięć wir­tu­alna powinna być wyko­rzy­sty­wana jak naj­rza­dziej. Każde “wachlo­wa­nie” pamię­cią wir­tu­alną jest nie­sa­mo­wi­cie cza­so­chłonne. A, że dziś RAM nie jest spe­cjal­nie drogi — zain­we­sujmy w RAM.

W każ­dym sys­te­mie są dostępne mier­niki zaję­to­ści pamięci — pole­cam zaj­rze­nie do nich raz na jakiś czas.

Uwaga. Sys­temy 32 bitowe mają ogra­ni­cze­nia — Win XP obsłu­guje do 3 GB RAM — wkła­da­nie wię­cej nie ma sensu. I tak nie użyje. Sys­temy Linu­xowe 32 bitowe obsłu­gują 4 GB — dalej też nie ma szans. Przej­ście na Win wer­sję 64 bitową ma raczej umiar­ko­wany sens — zaraz zaczy­nają się pro­blemy z dri­ve­rami, potrzebne są inne wer­sje niż na 32 bity. Są kłopoty.

Z Linu­xem jest mniej pro­ble­mów. Z moim 64 bito­wym Ubuntu mia­łem tylko raz kło­pot — wtyczka flash do Mozilli jesz­cze nie­dawo była tylko 32 bitowa i insta­la­cja jej wyma­gała odro­binę zachodu. Poza tym wszystko chodzi.

Ale na szczę­ście gra­nica 4 lub 3 GB w naszych domo­wych kom­pu­te­rach nie jest spe­cjal­nie dotkliwa. Więk­szość użyt­kow­ni­ków powinna zado­wo­lić się 1 GB RAM, ci bar­dziej roz­pa­sani powinni się­gnąć do 2 GB. Do nie­któ­rych prac zwią­za­nych z pro­gra­mo­wa­niem, mul­ti­me­diami i gra­fiką potrzeba więcej.

2. Dysk

Nie da się ukryć, że dysk jest kulą u nogi naszego kom­pu­tera. Jest to ele­ment, który nie­wiele przy­spie­szył w ciągu ostat­nich kil­ku­na­stu lat. Ogra­ni­cze­nia mecha­niczne są jed­nak dra­ma­tyczne.  W ciągu ostat­nich kil­ku­na­stu lat średni czas dostępu do infor­ma­cji na dysku spadł z 12 ms do 8ms. W tym cza­sie pro­ce­sory przy­śpie­szyły stokrotnie…

Co z tym fan­tem zro­bić? Ano nie­wiele się da. W zasa­dzie trzeba go jak naj­mniej używać…

Dyski SSD

Ostat­nio rekla­mo­wane dyski SSD też nie są jakieś spe­cjal­nie szyb­kie — zna­jomi nie zauwa­żyli jakiejś wyraź­nej róż­nicy szyb­ko­ści w sto­sunku do kla­sycz­nych. Naj­więk­szą ich zaletą, jest to, że zuży­wają dużo mniej prądu — co w lap­to­pach ma pewne zna­cze­nie. Ale przy ich cenach lepiej zain­we­sto­wać w więk­szą bate­rię — jest lep­szy sto­su­nek cena/zysk.

Cacho­wa­nie — czyli prze­cho­wy­wa­nie w RAM raz prze­czy­ta­nej informacji

Jak to robić? Dzi­siej­sze sys­temy mają umie­jęt­ność prze­cho­wy­wa­nia w RAM raz prze­czy­ta­nej infor­ma­cji. Zobaczmy — odpa­lamy jakiś ślama­zarny pro­gram. Zamy­kamy go i uru­cha­miamy jesz­cze raz. Za dru­gim razem powi­nien uru­cho­mić dużo szyb­ciej — jego ele­menty już są prze­czy­tane z dysku i teraz zostaną pobrane z RAM, czyli dużo szybciej.

Porząd­ko­wa­nie dysku

Zauwa­ży­łem, że ope­ra­cja porząd­ko­wa­nia dysku w Win nic nie daje.

Po pro­stu nic. Jak się ślama­za­rzył tak się ślama­za­rzy. Jedyną ope­ra­cją rze­czy­wi­ście coś dającą, jest zgra­nie całej zawar­to­ści dysku przez Nor­ton Ghost, sfor­ma­to­wa­nie i odtwo­rze­nie zawar­to­ści. Sys­tem działa jak dzia­łał ale zyskuje na wigo­rze — jeden ze szcze­gól­nie długo uży­wa­nych dys­ków przy­spie­szył mi około 10 razy.

3. Różne pro­gramy optymalizujące

W zasa­dzie nic nie dają.

pre­load

Jak do tej pory zna­la­złem jeden Linu­xowy, który daje istotne efekty, nazywa się pre­load — naj­czę­sciej skraca start nie­któ­rych pro­gra­mów o połowę. Cza­sem lepiej. W Ubuntu insta­luje się go przez

$sudo apt-get install preload

W innych sys­te­mach pew­nie tro­chę inaczej.

Jak działa? Bada sobie, jakie pro­gramy jak czę­sto są uru­cha­miane i jakie biblio­teki są przy oka­zji łado­wane. Kal­ku­luje, ile ma dostęp­nej pamięci i ładuje zawczasu do pamięci potrzebne pliki.Oczywiście nie działa od razu — naj­pierw musi pozbie­rać sta­ty­styki zanim zacznie efek­tyw­nie dzia­łać. U mnie efekty poja­wiły się po kilku dniach.

Efekt?

Mozillę mam obcią­żoną mak­sy­mal­nie róż­nymi dodat­kami dla pro­gra­mi­stów. Ostat­nio byłem ziry­to­wany, bo start Mozilli trwał nawet 15 sekund. Teraz wystar­cza 5. Pro­gramy pakietu Ope­nOf­fice? Dwu­krotne przy­spie­sze­nie. Thun­der­bird — ino myk. Net­Be­ans — jak marzenie.

4. Usta­wie­nia sieci

Usta­wie­nie adresu sieciowego

Dobrze jest usta­wić w kom­pu­te­rze sta­cjo­nar­nym sta­tyczne usta­wie­nia sieci. Przy star­cie sys­temu można oszczę­dzić kilka sekund na starcie.

Usta­wie­nie DNS

O wła­snym ser­we­rze DNS pisa­łem poprzednio.

Jeżeli jed­nak nie mamy moż­li­wo­ści usta­wie­nia wła­snego ser­wera DNS, trzeba się przyj­rzeć dostęp­nym. Na czas odpo­wie­dzi DNS skła­dają się dwa ele­menty — czas reak­cji ser­wera i czas potrzebny na prze­sła­nie pakietu przez sieć. W wielu miej­scach sieci dostępne są adresy ser­we­rów publicz­nych, jed­nak należy z dużą ostroż­no­ścią pod­cho­dzić do wyko­rzy­sty­wa­nia wielu z nich. Cóż z tego, że ser­wer jest super szybki, skoro czas potrzebny na prze­sła­nie pakietu jest długi. Ser­wery z USA odpo­wia­dają śred­nio po 600–800 ms, euro­pej­skie — około 100 ms, zlo­ka­li­zo­wane w Pol­sce — zwy­kle około 50 ms. Można spraw­dzić czasy wpi­su­jąc z linii komend:

ping <adres serwera>

na przy­kład:

ping 8.8.8.8

Ten ser­wer jest udo­stęp­niony przez google, odpo­wiada u mnie po 45–50 ms, co jest przy­zwo­itym wynikiem.

5.Ustawienia Mozilli

Wtyczki

Dobrze jest usu­nąć wszel­kie nie­uży­wane wtyczki. Każda z nich dodaje tro­chę narzutu w cza­sie startu.

Usta­wie­nie wiel­ko­ści cache.

Jeżeli damy zbyt mało — będziemy tra­cili czas na łado­wa­nie z sieci wszel­kich rame­czek, tła, nagłów­ków. Jak damy za dużo, sys­tem będzie tra­cił czas na wyszu­ki­wa­nie odpo­wied­niego pliku z dysku. Jak na kata­logu z cache jest kil­ka­dzie­sią tysięcy pli­ków — samo odczy­ta­nie kata­logu zaj­mie kilka sekund. Ja usta­wiam zwy­kle około 50 MB i wystarczy.

Włą­cze­nie wielowątkowości

To może dużo pomóc w spraw­no­ści Mozilli

Wpi­su­jemy w adre­sie:
about:config
Znaj­du­jemy linię network.http.pipelining i zmie­niamy war­tość na true .
Znaj­du­jemy linię network.http.proxy.pipelining i zmie­niamy war­tość na true .
Znaj­du­jemy linię network.http.pipelining.maxrequests i usta­wiamy war­tość na 8
Znaj­du­jemy linię browser.cache.disk.capacity i usta­wiamy war­tość na 100000

zamy­kamy prze­glą­darkę i otwie­ramy ponownie.

Co to daje? Mozilla zaczyna wyko­ny­wać różne rze­czy wie­lo­wąt­kowo — czyli rów­no­le­gle. Każda ze stron składa się z wielu ele­men­tów — obraz­ków, ramek, tła. Bez tej zmiany wszyst­kie ele­menty strony łado­wane są kolejno. Jeżeli pozwo­limy na wie­lo­wąt­ko­wość pro­gram może wyko­ny­wać dzia­ła­nia rów­no­le­gle. Jeden wątek czeka na ścią­gnię­cie obrazka, drugi wątek roz­pa­ko­wuje już ścią­gnięty obra­zek, trzeci rysuje ramki, i tak dalej. Nie ma momen­tów prze­stoju i oczekiwania.