Tämä harhaluulo se vain jatkaa elämistään. Ihan yhtä lailla työpöytäkäytössä aletaan käyttää ytimiä, kunhan niitä on nyt saatavilla. Intelin melkein 10v kestänyt 4 coren taktiikka vain pienensi intoa koodata useammalle ytimelle, mutta nyt sekin rajoite on poistunut.
Puhut harhaluuloista ja heti perään kirjoitat ihan älytöntä harhaluuloa liittyen siihen, minkä takia monisäikeistä softaa koodataan tai ei koodata.
Softat monisäikeistetään silloin kun se on sopiva kombinaatio seuraavista
A) helppoa(firman näkökulmasta halpaa) B) hyödyllistä.
Jos prosessorissa on 4 ydintä ja SMT-jotka turbo-modesta huolimatta antavat yhdessä n. 4-kertaisen nopeutuksen, niin se on erittäin riittävä syy monisäikeistää se, JOS se softa on millään tavalla CPU-intensiivinen, ja rinnakkaistaminen on helppoa.
Syy miksi monia softia ei ole rinnakkaistettu ei ole ollut siitä että "ytimiä on vain 4" vaan siinä, että se rinnakkaistus ei ollut joko
tarpeellista koska softa on aivan riittävän nopea yhdelläkin säikeellä, tai se, että sen rinnakkaistaminen "paremmin" olisi ollut
vaikeaa ja koodareilla on ollut parempaakin tekemistä, ja softaa tekevällä firmalla on olltu parempaakin käyttöä tuotekehitysbufdetilleen.
Tai sitten ollaan ensin tehty ne fiksummat optimoinnit, joista on saatu jopa parempi hyöty kuin mitä siitä monisäikeistymisestä saataiisin. Jos vaihtoehtona on laskea joku asia monessa säikeessä miljoonaan kertaan, tai laskea se vain kerran yhdessä säikeessä, tämä yhden säikeen versio on n. 100000 kertaa nopeampi useimmilla koneilla.
Monet algoritmilliset optimoinnit, jotka nopeuttavat koodia paljon enemmän kuin mikään monisäikeistys nopeuttaisi itse asiassa tekevät monisäikeistämisestä vaikeampaa, kun ohjelmaan tulee enemmän "softavälimuisti"dataa joka jaetaan eri ohjelman osien välillä.
Videoeditointi käyttää 50+ corea ja jopa chrome osaa käyttää noin paljon, jos on monta tabia auki.
Chromessani on tällä hetkellä auki parisataa välilehteä ja sen CPU-käyttö vaihtelee 2-3% välillä, koko koneen CPU-käyttö vaihtelee 3-4% välillä (ryzen 2700). Ei ne ei-aktiiviset välilehdet käytä sitä CPUta mihinkään jos ne eivät tee mitään.
Sen sijaan yhden CPU-intensiivisen www-sivun kiihdyttäminen on hyvin huonosti rinnakkaistuvaa, kiitos javaskriptin josta puuttuu täysin normaalit säikeet, siinä on vain korutiinit, joita kaikkia ajetaan samassa säikeessä, sekä web workerit, jotka ovat käytännössä eri prosesseja ja joille kommunikointi on hidasta.
Siihen windows päivitykset 2-4 threadiin
Windows-päivityksiin kuluva CPU-aika on suuruusluokkaa alle minuutti koko vuodelle, ja yleensä vielä osuu sellaiseen aikaan yöstä, jolloin konetta ei käytetä. Se on workload, joka on käytännössä täysin 1) verkkokaistan 2) jonkin verran levy-IOn rajoittama, CPUn käyttö täysin merkityksetöntä.
Ja silloin jos on joku päivityksen lataus menossa, verkkopelit tahmaa kuitenkin sen verkkokaistan tukkoisuuden takia, CPU-teholla ei ole tämän kannalta mitään väliä.