- Atminties hierarchija ir duomenų struktūrų dizainas daugiausia lemia procesoriaus talpyklos panaudojimą.
- Karštų duomenų grupavimas, naudojant gretimus konteinerius ir SoA šablonus sumažina talpyklos praleidimus ir pagerina delsą.
- Sistemoje „Windows“ atnaujinant sistemą ir tvarkykles bei apribojant foninius procesus, atlaisvinamas procesorius, RAM ir talpykla.
- Programinės įrangos optimizavimą papildžius energijos suvartojimo reguliavimu ir, jei reikia, aparatinės įrangos patobulinimais, bendras našumas maksimaliai padidėja.

La CPU talpyklos optimizavimas Tai viena iš tų temų, skiriančių „veikiantį“ kodą nuo „skraidančio“ kodo. Kai suprantame, kaip organizuota atmintis, kokį prieigos laiką apdoroja kiekvienas lygis ir kaip veikia aparatinė įranga, galime pasiekti didžiulių našumo patobulinimų nekeisdami mašinų.
Tuo tarpu nemažai „Windows“ naudotojų kenčia nuo kur kas banalesnės problemos: jų kompiuteriai yra lėti. Ir dažnai problemos šaknys slypi būtent ten – neefektyviai naudojant atmintį, talpyklą ir patį procesorių. Esant šių veiksnių deriniui geras žemo lygio dizainas (duomenų struktūros, atminties prieigos modeliai) ir Praktiniai nustatymai sistemoje „Windows“ (valymas, atnaujinimas, energijos vartojimo režimai ir kt.) galima pasiekti labai pastebimų patobulinimų – nuo nedidelių 5 % padidėjimų iki 30–40 % šuolių tam tikrais atvejais.
Atminties hierarchija ir delsos: kodėl talpyklos taisyklės
Prieš pradėdami tobulinti kodą ar konfigūruoti „Windows“, turime aiškiai suprasti vieną dalyką: ne visa atmintis yra vienoda. Skirtumas tarp prieigos prie L1, L2, L3 talpyklų, RAM ar disko yra milžiniškas, ir daugelis talpyklos optimizavimų yra tiesiogine prasme pagrįsti tuo. venkite lėto lygio viskas įmanoma.
Šiuolaikiniame procesoriuje tipinis prieigos laikas (dydžio eile) yra maždaug toks: prieiga prie L1 talpykla Tai trunka maždaug pusę nanosekundės, šuolio numatymo nesėkmė trunka kelias nanosekundes, L2 Tai yra apie 7 ns, o pagrindinės atminties pasiekimas gali viršyti 100 ns. Jei pereisime prie įrenginio ribų (tinklas, SSD, mechaninis kietasis diskas), skaičiai išaugs iki šimtai tūkstančių ar milijonai nanosekundžių.
Šis ryškus skirtumas ir yra tai, kodėl taip svarbu tinkamai organizuoti duomenis, sumažinti talpyklos klaidas ir sukurti nuoseklios prieigos modelius. Ciklas, esantis L1 talpykloje, bus žymiai greitesnis nei tas, kuris nuolat jungiasi prie RAM arba SSD, net jei jie logiškai atlieka tą pačią funkciją.
Be to, procesoriaus talpykla yra suskirstyta į kelis lygius: L1 – labai maža ir itin greita; L2 – didesnė ir šiek tiek lėtesnė; ir L3 – dar didesnė, dažnai dalijama tarp branduolių. Idėja yra laikyti „karštus“ duomenis (dažnai naudojamus duomenis) po ranka, o likusius – perkelti į lėtesnius lygius. Kaip kūrėjai, mes galime padėti tai įgyvendinti natūraliai, naudodami gerą duomenų struktūros dizainą ir... nuspėjama prieiga.
Kas yra talpykla ir kodėl ji veikia našumą?
Talpykla bet kuriame kontekste (procesoriuje, diske, žiniatinklyje...) yra greitas neseniai naudotų duomenų saugojimasUžuot visada pasiekę lėčiausią šaltinį, mes saugome to, kuris greičiausiai bus pakartotinai panaudotas, kopiją. Tai sutrumpina atsako laiką ir sumažina pagrindinių išteklių apkrovą.
Paprastai kaupimas talpykloje naudojamas prieigai pagreitinti ir naudotojo patirčiai pagerinti. Praktiškai tai taip pat leidžia sistemai atlikti daugiau darbo su ta pačia įranga: mažiau laukimo, mažiau blokų ir mažiau eilių. Štai kodėl jis naudojamas procesoriuose, diskuose, naršyklėse, paskirstytose sistemose ir praktiškai bet kokioje programinėje įrangoje, kuri intensyviai tvarko duomenis.
Įprastame kompiuteryje yra kelių tipų talpyklos: disko talpykla (RAM, kurioje saugomi duomenys iš standžiojo disko), žiniatinklio talpykla (statiniai naršyklės ištekliai) ir CPU talpykla (L1, L2, L3). Jie visi veikia pagal tą pačią pagrindinę idėją: saugoti tai, ko greičiausiai prireiks vėliau, vengiant lėtų operacijų kartojimo.
Talpyklos tipai: disko, žiniatinklio ir procesoriaus talpykla
Realioje sistemoje susijungia keli kaupimo mechanizmai, kiekvienas savo lygmenyje. Jų supratimas padeda geriau programuoti ir diagnozuoti, kodėl kompiuteris veikia blogiau nei tikėtasi.
Disko talpykla
Disko talpykla yra atminties (dažniausiai RAM) sritis, kurioje veikia operacinė sistema. saugo duomenis, neseniai skaitytus arba įrašytus į diskąKai programa vėl prašo tų duomenų, sistema pirmiausia patikrina podėlį: jei jis ten yra, prieiga yra daug greitesnė nei prie disko, ypač jei kalbame apie mechaninius diskus.
Šis mechanizmas smarkiai sutrumpina įkėlimo laiką, sumažina fizinio skaitymo ir rašymo operacijų skaičių ir, savo ruožtu, prailgina disko tarnavimo laikąTais atvejais, kai prie tų pačių failų (duomenų bazių, serverių, sudėtingų programų) reikia pasikartoti, disko kaupimas talpykloje turi didelę reikšmę.
Žiniatinklio talpykla
Naršyklėje žiniatinklio talpykloje laikinai saugomi vaizdai, stilių lapai, „JavaScript“ ir kiti ištekliai. Dėl to, kai vėl lankotės puslapyje arba naršote tarp tos pačios svetainės skyrių, naršyklė gali... semkitės iš to, ką jau sukaupėte užuot vėl užsisakę internetu.
Rezultatas dvejopas: trumpesnis įkėlimo laikas vartotojui ir mažesnis pralaidumo suvartojimas tiek jūsų ryšyje, tiek serveryje, teikiančiame turinį. Tačiau jei talpykla netinkamai tvarkoma, gali atsirasti pasenusių išteklių, todėl kartais patartina ją išvalyti.
CPU talpykla: L1, L2 ir L3 lygiai
Kalbant apie našumą, svarbiausia yra procesoriaus talpykla. Šiuolaikiniai procesoriai turi kelis hierarchinius lygius, skirtus sumažinti duomenų ir instrukcijų prieigos delsą. Paprastai tariant, L1 yra mažiausias ir greičiausias, L2 yra tarpinis, o L3 yra didžiausias ir lėčiausias, dažnai bendras.
La L1 talpykla Paprastai jis skirstomas į instrukcijas ir duomenis, o tipinis dydis yra kelios dešimtys KB vienam branduoliui. Jis yra itin greitas ir naudojamas pačioms neatidėliotiniausioms užduotims. L2 talpykla Jis turi didesnę talpą (nuo šimtų KB iki kelių MB) ir veikia kaip L1 atsarginė kopija. L3 talpykla Jis gali pasiekti kelis MB ar dešimtis MB, jį naudoja keli branduoliai, ir jis yra paskutinis lygis prieš pereinant prie RAM.
Kai atminties prieigos modelis yra pakankamai nuoseklus arba nuspėjamas, aparatinė įranga gali jį numatyti ir perkelti duomenis į šiuos talpyklos lygius. Kai jis chaotiškas, pilnas atsitiktinių šuolių ir išsklaidytų struktūrų, procesorius sugaišta per daug laiko laukia atminties ir procesorius „nuobodžiauja“. Čia praverčia kodo lygio optimizavimas.
Duomenų struktūrų optimizavimas procesoriaus talpyklai
Didelė dalis našumo priklauso nuo to, kaip projektuojame savo duomenų struktūras. Tai ne tas pats, kas turėti milžinišką objektą su sumaišytais karštais ir šaltais laukais, ir atskirti tai, kas naudojama dažnai, nuo to, kas naudojama retai. Kiekviena procesoriui teikiama talpyklos eilutė turi savo kainą; jei užpildysime tas eilutes nenaudingais duomenimis, švaistysime pralaidumą.
Grupuokite karštus duomenis ir atskirkite šaltus duomenis
Pagrindinė strategija – nustatyti, kurie struktūros laukai yra pasiekiami beveik kiekvienoje operacijoje („karšti“ duomenys), o kurie naudojami tik retkarčiais („šalti“ duomenys). Pirmieji turėtų būti kartu atmintyje ir, jei įmanoma, tilpti vienoje ar keliose talpyklos eilutėse. Pastarosios gali būti atskiroje struktūroje, į kurias nurodo rodyklė arba indeksas.
Pavyzdžiui, užuot turėjus vartotojo objektą su ilgomis eilutėmis (vardas, biografija, el. pašto adresas) ir nuolat tikrinamomis vėliavėlėmis ar žymekliais, geriau sugrupuoti „karštus“ duomenis (ID, paskutinį prisijungimą, aktyvią būseną) į kompaktišką struktūrą ir likusią informaciją palikti atskiroje „išsamios informacijos“ struktūroje. Tokiu būdu, kai kodas iteraciniu būdu peržiūri vartotojų sąrašą, kad patikrintų būseną ar žymeklį, talpyklos eilutės beveik visiškai užpildomos atitinkamais duomenimis.
Sumažinkite užpildą ir geriau išnaudokite kiekvieną eilutę
Kitas mūšio laukas slypi fiziniame struktūrų projekte: laukų tvarka ir jų tipus. Dėl lygiavimo, netvarkingai maišant skirtingų dydžių tipus, gali atsirasti užpildymo baitai, kurie tik eikvoja atmintį ir, dar blogiau, talpyklos eilutes.
Jei duomenų struktūrą pertvarkome taip, kad pirmiausia grupuotume didelius tipus (pvz., doubles arba int64_t), tada vidutinius tipus ir galiausiai mažiausius tipus (bool, char), paprastai sumažiname arba panaikiname didelę dalį užpildymo. Tai leidžia vienoje talpyklos eilutėje sutalpinti daugiau elementų, sumažinant atminties hierarchijos apkrovą ir atminties klaidų tikimybę.
Pasirinkite gretimus konteinerius
Konteineriai, kuriuose laikomi daiktai gretimoje atmintyjeVektoriai, kaip masyvo tipas, paprastai yra daug draugiškesni talpyklai nei struktūros, pagrįstos retais mazgais, sujungtais rodyklėmis (medžiai, klasikiniai susietieji sąrašai ir kt.). Keliaudama vektoriumi, įranga gali puikiai numatyti kitą prieigą ir iš anksto įkelti šias talpyklos eilutes.
Priešingai, tokios struktūros kaip medžiais pagrįsti žemėlapiai arba susietieji sąrašai paskirsto savo mazgus po kaupą, versdamos centrinį procesorių nuolat persekioti rodyklę. Kiekvienas šuolis gali sukelti talpyklos praleidimą ir brangią kelionę atgal į pagrindinę atmintį. Štai kodėl daugelis šiuolaikinių bibliotekų siūlo tankios maišos žemėlapiaiatviros lentelės ir kiti konteineriai, kurie stengiasi duomenis išlaikyti kuo kompaktiškesnius.
Mažų kolekcijų saugykla internete
Daugelis algoritmų naudoja labai mažas kolekcijas (kelis sveikuosius skaičius, kelias struktūras), kurios yra nuolat kuriamos ir naikinamos. Jei kiekviena iš šių priežasčių sukelia kaupo paskirstymą, mes ne tik patiriame atminties valdymo išlaidas, bet ir gauname duomenis, išsklaidytus RAM atmintyje. Sprendimas – naudoti konteinerius su internetinė mažų dydžių saugykla.
Šio tipo konteineris rezervuoja vietą 8 arba 16 elementų pačiame objekte. Kol ši riba neviršijama, nereikia pasiekti kaupiamojo kaupiklio (heap), o duomenys lieka prijungti prie likusios funkcijos ar klasės būsenos dalies, o tai labai naudinga talpykloje.
Prieigos modeliai: nuo AoS iki SoA ir bitų rinkinių naudojimas
Net ir naudojant gerai struktūrizuotas talpyklas, duomenų prieigos modelis labai lemia našumą. Nėra tas pats nuosekliai peržiūrėti masyvą ir pereiti iš vieno adreso į kitą remiantis rodyklių sąrašu. Yra keletas pasikartojančių būdų, kaip maksimaliai padidinti talpyklos panaudojimą.
Struktūrų masyvas (AoS) ir masyvų struktūra (SoA)
Klasikinis modelis yra perėjimas nuo „struktūrų masyvo“ (AoS) dizaino prie „masyvo struktūros“ (SoA). AoS kiekvienas elementas yra objektas su daugybe laukų (pavyzdžiui, dalelės padėtis ir masė), ir šie elementai saugomi nuosekliai. Kai reikia nuskaityti tik dalį šių laukų (pavyzdžiui, padėtį), esate priversti įkelti talpyklos eilutes, kuriose taip pat yra nenaudojamų duomenų.
Kita vertus, SoA sistemoje skirtingi atributai yra suskirstyti į lygiagrečius masyvus: vienas x, kitas y, dar kitas z, dar vienas masei ir t. t. Taigi, jei algoritmas atnaujina tik pozicijas, jis paliečia tik koordinačių masyvus ir talpykla nėra užteršta nereikalinga informacijaBe to, šis dizainas skatina vektorizaciją ir SIMD instrukcijų naudojimą.
Bitų rinkiniai ir nuorodos pagal indeksą
Mažiems domenams (pvz., vėliavėlėms nuo 0 iki 255) naudoti bitų rinkinį yra daug efektyviau nei maišos pagrindu veikiančią rinkinių struktūrą. 256 pozicijų bitų rinkinys užima tik kelias dešimtis baitų ir leidžia atlikti labai greitas, visiškai vientisas ir talpyklą taupančias operacijas, užuot reikėjus spręsti susidūrimus maišos lentelėje.
Panašiai pakeiskite rodykles į indeksai gretimuose masyvuose Tai gali sumažinti struktūrų dydį (32 bitų indeksai vietoj 64 bitų rodyklių) ir pagerinti talpyklos koherenciją. Vietoj mazgų, išsklaidytų po visą kaupą, saugomas mazgų vektorius, į kurį nurodoma pagal jų padėtį, taip palengvinant nuoseklų perėjimą.
Išankstinis gavimas: kada reikia aplenkti darbą
Be aparatinės įrangos išankstinio įkėlimo, kuris bando numatyti nuoseklius prieigos modelius, turime programinės įrangos išankstinio įkėlimo instrukcijas, skirtas išankstinis duomenų įkėlimas konkrečiais atvejais. Tai prasminga, kai modelis yra nuspėjamas, bet ne griežtai linijinis, kaip tai vyksta maišos lentelėse ar susietuosiuose sąrašuose.
Bendroji idėja paprasta: apdorojant i elementą, jūs nurodote aparatinei įrangai įkelti i+1 elementą (arba kokį nors būsimą bloką) į podėlį. Kai pasiekiate tą elementą, tikimybė, kad jis jau yra L1 arba L2 lygmenyje, yra didelė, o laukimo laikas sutrumpėja. Tai galima įgyvendinti naudojant kompiliatoriaus išankstinio įkėlimo primityvus arba specialias bibliotekas.
Tačiau nėra prasmės naudoti tiesioginio išankstinio įkėlimo visiškai nuosekliose prieigose, nes aparatinė įranga tai jau tvarko automatiškai. Tiesą sakant, nereikalingo išankstinio įkėlimo pridėjimas gali užteršti talpyklą ir pabloginti našumą. Kaip beveik visada nutinka vertinant našumą, geriausia matuoti prieš ir po.
Talpykloje saugomos vietos, pakeitimo ir išankstinio gavimo politikos
Teoriškesniu lygmeniu talpyklų sistemos yra pagrįstos politika, nustatančia, kur saugoti duomenis, kada juos gauti ir kuriuos duomenis ištrinti, kai nėra pakankamai vietos. Nors šias detales tvarko aparatinė įranga arba operacinė sistema, jų supratimas padeda interpretuoti tam tikrą neįprastą elgesį.
Kalbant apie vietą, galima naudoti schemas atminties segmentavimas arba rinkinių asociatyvus paskirstymas, kai kiekvienas pagrindinės atminties adresas gali būti susietas tik su podėlio pogrupiu. Tai turi įtakos konfliktų skaičiui ir dviejų adresų persidengimo podėlio viduje tikimybei.
Kalbant apie talpyklos išvalymą (kas nutinka, kai talpykloje trūksta informacijos), taikomos pakeitimo politikos: LRU (Rečiausiai naudoti), FIFO arba net atsitiktinis pakeitimas. LRU bando išsaugoti vėliausiai naudotus duomenis talpykloje, darant prielaidą, kad jų dar reikės, o FIFO tiesiog atmeta seniausius duomenis. Kiekviena politika turi savo privalumų, priklausomai nuo faktinio prieigos modelio.
Išankstinio įkėlimo skyriuje yra mechanizmai, pagrįsti istoriniais modeliais: jei aparatinė įranga aptinka, kad kiekviena prieiga yra perkelta, pavyzdžiui, visada 64 baitais, ji bus linkusi numatyti gretimus blokusKitais atvejais naudojamas išankstinis vietos gavimas (viso bloko įkėlimas, net jei užsakėte tik jo dalį), siekiant sumažinti kelionių į pagrindinę atmintį skaičių.
Talpyklos elgsenos matavimas ir profiliavimas
Optimizavimas be matavimo yra tas pats, kas bandymas be išankstinio įvertinimo. Yra našumo analizės įrankių, leidžiančių matyti konkrečius talpyklos rodiklius: nuorodas, L1 praleidimus, paskutinio lygio talpyklos (LLC) praleidimus, praleidimų procentą ir kt. Šie rodikliai rodo, ar jūsų pakeitimai iš tikrųjų gerina situaciją.
Jei, pavyzdžiui, klaidų procentas L1 talpykloje yra apie 2–3 %, tai paprastai laikoma priimtina, o labai didelis klaidų skaičius paskutinio lygio talpykloje gali rodyti problemas su erdvinė arba laikinė vietaŠių skaičių derinimas su procesoriaus ir atminties profiliais padeda nustatyti, kurios kodo dalys labiausiai apkrauna atminties hierarchiją.
Talpyklos ir našumo optimizavimas sistemoje „Windows“
Be paties kodo, daugelis vartotojų stebisi, kodėl jų „Windows“ kompiuteris veikia taip lėtai, jei „teoriškai“ jis turi gerą procesorių ir RAM. Iš dalies atsakymas slypi pačioje sistemoje, joje esančiose programose ir susikaupusiuose skaitmeniniuose nereikalinguose failuose. Jie sunaudoja procesoriaus, atminties ir talpyklos išteklius. nuolat, todėl lieka mažiau išteklių svarbioms užduotims. Pritaikius keletą konkrečių optimizavimų „Windows 10“ ir „Windows 11“, galima atlaisvinti procesoriaus ir RAM išteklius (Pavyzdžiui, konfigūruojant virtualiąją atmintį), sumažinant foninius procesus ir pagerinant sistemos gebėjimą kaupti atitinkamus duomenis talpykloje. Priklausomai nuo pradinės situacijos, šie patobulinimai gali būti nuo nedidelių pakeitimų iki labai pastebimų bendro našumo pokyčių.
Atnaujinkite „Windows“ ir tvarkykles
Labai paprastas žingsnis, kurio daugelis žmonių nepaiso, yra operacinės sistemos ir tvarkyklių atnaujinimas. „Windows“ naujinimai ne tik suteikia saugos pataisas: jie dažnai apima išteklių valdymo patobulinimai, atminties nutekėjimo pataisymai ir branduolio optimizavimas.
„Windows“ nustatymų skydelyje („Pradėti“ > „Nustatymai“ > „Atnaujinimas ir sauga“ > „Windows“ naujinimas) galite ieškoti tiek bendrųjų naujinimų, tiek pasirenkamų paketų, įskaitant nekritines tvarkykles, kurios gali optimizuoti procesoriaus, grafikos procesoriaus ar lustų rinkinio našumą. Šių komponentų įdiegimas gali išspręsti kliūtis arba stabilumo problemas, kurios tiesiogiai veikia talpyklos ir atminties naudojimą.
Išjungti atnaujinimų platinimą per P2P
Nuo „Windows 10“ sistemos versijos atnaujinimus galima atsisiųsti ir bendrinti naudojant P2P mechanizmą su kitais kompiuteriais. Nors ši sistema yra išradinga, ji reiškia, kad kompiuteris... naudoja procesorių, tinklą ir diską padėti platinti atnaujinimus, o tai ne visada pageidautina.
Išjungus „Pristatymo optimizavimą“ „Windows Update“ sistemoje, jūsų kompiuteris negalės teikti arba atsisiųsti atnaujinimų fragmentų į kitus kompiuterius. Tai atlaisvina išteklius, sumažina foninę veiklą ir gali pagerinti bendrą našumą, ypač mažiau galingose sistemose.
Atlaisvinkite vietos diske ir pašalinkite nereikalingus failus
Kai diskas pilnas arba beveik pilnas, „Windows“ turi mažiau vietos puslapiavimui ir laikinųjų failų kūrimui, o tai galiausiai turi įtakos našumui. Naudokite integruotą įrankį Disko valymas Tai leidžia ištrinti laikinus failus, atnaujinimų likučius, elementus iš šiukšliadėžės ir kitus nebereikalingus duomenis.
Be šio valymo įrankio, patartina reguliariai ištuštinti šiukšlinę ir naudoti „Windows“ saugyklos parinktis, kad ištrintumėte sukauptus laikinuosius failus. Kuo mažiau vietos sistemos diske, tuo efektyviau veiks atminties posistemė ir disko talpykla.
Optimizuokite paleisties ir fonines programas
Vienas didžiausių kasdien naudojamo kompiuterio procesoriaus ir talpyklos priešų yra automatiškai paleidžiamos ir fone veikiančios programos: sinchronizatoriai, atnaujinimai, mažos, beveik nenaudojamos programos ir kt. Nors jos gali atrodyti nedidelės, kiekviena iš jų prideda gijų, atminties, diskų prieigos ir talpyklos sunaudojimo.
Iš užduočių tvarkyklės arba su „Sysinternals“ procesų valdymuiSkirtuke „Pagrindinis“ galima išjungti nereikalingas programas kad jos nebūtų įkeltos automatiškai. Be to, privatumo nustatymuose galite valdyti, kurioms programoms leidžiama veikti fone. Sumažinus šį sąrašą, ne tik sutrumpėja paleidimo laikas, bet ir sumažėja nuolatinė procesoriaus ir RAM apkrova.
Sumažinkite grafinius efektus ir pranešimus
Langų animacijos, skaidrės ir kiti vizualiniai pagražinimai eikvoja išteklius. Senesniuose arba mažiau galinguose kompiuteriuose gali būti naudinga pakoreguoti „Windows“ nustatymus, kad našumas būtų svarbesnis už išvaizdą. Tai atliekama naudojant sistemos išplėstines parinktis, našumo skiltyje, pasirenkant konfigūraciją, kuri yra palankesnė greičiui.
Panašiai gali būti ir pranešimų perteklius prisotinti vartotoją ir komandąIšjungus nereikalingus įspėjimus, ne tik pagerėja naudotojo patirtis, bet ir išvengiama per dažno foninių procesų ar patikrinimų suaktyvinimo.
Maitinimo režimai, žiemos miegas ir didžiausias našumas
„Windows“ sistemoje yra keli energijos vartojimo planai, kurie tiesiogiai veikia procesoriaus valdymą: ar pirmenybė teikiama akumuliatoriaus veikimo laikui, ar grynam našumui. Staliniuose ir nešiojamuosiuose kompiuteriuose, kurie prijungti prie elektros tinklo, paprastai pravartu peržiūrėti šiuos nustatymus.
El greita pradžia Greitas paleidimas sujungia išjungimo ir žiemos miego funkcijas, kad pagreitintų paleidimo laiką, iš anksto įkeldamas dalį branduolio ir tvarkyklių prieš išjungiant. Įjungus šią funkciją, galima žymiai sutrumpinti paleidimo laiką, nors patartina ją laikinai išjungti, jei ji sukelia problemų su atnaujinimais arba prieiga prie BIOS.
Kita vertus, yra a paslėptas „maksimalaus našumo“ planas Dėl to procesorius ir kiti komponentai dirba mažiau efektyviai, teikiant pirmenybę energijos taupymui. Įjungus šią funkciją, galima gauti šiek tiek daugiau laisvos vietos intensyvioms užduotims, tačiau tai padidina šilumos kiekį, ventiliatoriaus triukšmą ir energijos suvartojimą.
Efektyvus vietos ir atminties valdymas sistemoje
Be reguliaraus nuolatinių programų valymo ir valdymo, yra ir kitų būdų, kaip geriau išnaudoti kompiuterio fizinius išteklius, o kartu ir procesoriaus bei disko talpyklą.
Darbalaukis, perkrautas piktogramomis, nuorodomis, aplankais ir failais, nėra tik vizualinė netvarka: „Windows“ turi visa tai valdyti, o tai prideda papildomo darbo krūvio. pakankamai švarus stalas Failų tvarkymas į aplankus diskuose yra paprastas būdas, kuris padeda sukurti lengvesnę aplinką.
Taip pat naudinga tam tikrų failų saugojimui debesyje, nes tai sumažina vietinės saugyklos kiekį. Jei tai daroma protingai (nevisiškai pasikliaujant interneto ryšiu), vietinė sistema gali būti mažiau apkrauta ir turėti daugiau lankstumo.
Specifinės technologijos: „ReadyBoost“, spartinimas ir aparatinė įranga
Sistemose su mechaniniu standžiuoju disku ir ribota RAM atmintimi „Windows“ turi tokias technologijas kaip „ReadyBoost“, leidžiančias naudoti greitą USB atmintinę kaip papildomą talpyklą. Nors tai nėra stebuklinga priemonė, tam tikrose konfigūracijose ji gali padidinti našumą. sumažinti dalį spaudimo diskui.
Kitame spektro gale pažengę vartotojai gali padidinti savo procesorių spartą naudodami tokias priemones kaip „Intel Extreme Tuning Utility“ (skirta atrakintiems procesoriams). Padidinus taktinį dažnį, padidėja našumas, tačiau kartu padidėja temperatūra ir energijos suvartojimas, todėl kyla reali nestabilumo ir žalos rizika, jei įtampa ir aušinimas nėra kruopščiai valdomi.
Kai visi programinės įrangos optimizavimai nepasiteisina, laikas pagalvoti apie aparatinės įrangos atnaujinimą: standžiojo disko pakeitimą SSD disku, RAM išplėtimą ar net keisti procesorių arba visai sistemai. SSD diskas ypač pakeičia suvokiamą sistemos našumą, nes smarkiai sutrumpina disko prieigos laiką, o tai savo ruožtu leidžia disko talpyklai ir virtualiai atminčiai veikti daug sklandžiau.
Kartu, sujungti geras duomenų struktūrų ir atminties prieigos modelių dizainas Kruopščiai sukonfigūravus „Windows“ (atnaujintą, lengvą, be nereikalingų procesų, su tinkamu energijos planu ir, jei reikia, naudojant mažas pagalbines priemones, pvz., „ReadyBoost“ ar aparatinės įrangos patobulinimus), galima išnaudoti procesoriaus talpyklą, kad būtų galima gauti daug daugiau naudos iš to paties kompiuterio, pasiekti programas, kurios reaguoja lanksčiai, ir sistemą, kuri atrodo pastebimai greitesnė, nereikalaujant „magijos“ ar ezoterinių triukų.
Turinys
- Atminties hierarchija ir delsos: kodėl talpyklos taisyklės
- Kas yra talpykla ir kodėl ji veikia našumą?
- Talpyklos tipai: disko, žiniatinklio ir procesoriaus talpykla
- Duomenų struktūrų optimizavimas procesoriaus talpyklai
- Prieigos modeliai: nuo AoS iki SoA ir bitų rinkinių naudojimas
- Išankstinis gavimas: kada reikia aplenkti darbą
- Talpykloje saugomos vietos, pakeitimo ir išankstinio gavimo politikos
- Talpyklos elgsenos matavimas ir profiliavimas
- Talpyklos ir našumo optimizavimas sistemoje „Windows“
- Maitinimo režimai, žiemos miegas ir didžiausias našumas
- Efektyvus vietos ir atminties valdymas sistemoje
- Specifinės technologijos: „ReadyBoost“, spartinimas ir aparatinė įranga