Älyät varmaan kaupallisen yrityksen toimitaperiaatteet? Hyvä. Varmaan osaat laskelmoida myös sen, että millä mentaliteetillä yritys kehittää tuotettaan, jotta yrityksen voitto saadaan maksimoitua?
Säikeistys kuten kaikki muutkin tehtävät asiat edustavat vaikeudeltaan kahta ääripäätä tai jotain siitä välistä. Vielä kerran:
1: asia on hyvin helppo, kuka tahansa osaa tehdä
2: asia on mahdoton, ei merkitystä kuka tekee koska asiaa ei voida tehdä
Suuri työmäärä ääripäässä 1 saadaan tehtyä nopeammin jos laitetaan lisää tekijöitä. Sen sijaan ääripäässä 2 ei ole mitään merkitystä sillä paljonko tekijöitä tai resursseja laitetaan, homma ei silti valmistu koska se ei voi valmistua.
Kun selität homman olevan rahasta kiinni, sanot samalla säikeistyksen olevan paljon lähempänä ääripäätä 1 kuin ääripäätä 2. Kun kyse oli siitä onko säikeistys vaikeaa ja itsekin myönnät sen olevan lähempänä ääripäätä 1 kuin ääripäätä 2, olet samaa mieltä siitä ettei säikeistys ole kovinkaan vaikeaa.
Kuten sanoin, ellet ymmärrä asiaa ei ole mitään merkitystä vaikka olisit ollut koodaamassa joka ikistä tietokonepeliä joka koskaan on tehty.
Taas kaksi ääripäätä:
Täydellisesti säikeistyvä ohjelma: ytimien määrän (ja kaikkien muun rajoittavien tekijöiden) kasvaessa n kertaiseksi ohjelman suoritus nopeutuu n kertaiseksi.
Ei ollenkaan säikeistyvä ohjelma: riippumatta ytimien määrän (ja kaikkien muun rajoittavien tekijöiden) kasvamisesta, ohjelman suoritus ei nopeudu.
Eli mikäli ohjelmassa on yksi säie joka selkeästi rajoittaa, se ei voi olla kovin lähellä täydellisesti säikestyvää ohjelmaa vaan menee paljon lähemmäksi toista ääripäätä. Itsestään selvä asia.
No, jos palkkaat halvan timpurin vähäksi aikaa tekemään kotiin remonttia, niin saat tietyn lopputuloksen.
Jos taas palkaat pari kertaa kalliimman, jolle on maksettu enemmän, koska taitavampi tai palkkaat sen halvemman pidemmäksi aikaa, niin saat varmasti paremman lopputuloksen (Tiettyyn rajaan asti).
Et välttämättä saa mikäli tämä kalliimpi timpuri sattuukin olemaan laiska.
Paremmin sanottuna näin: Onko kyse vaikeustasosta vai ajankäytöstä? Eli toisin sanoen, onko pystyykö halpa heppu tekemään yhtä hyvää jälkeä jos saa käyttää siihen enemmän aikaa kuin kalliimpi? Eli kalliimpi tekee tietyntasoista jälkeä nopeammin kuin halpa? Jos näin, silloin tekemistä nimenomaan ei rajoita vaikeus.
Asiakkaana kuitenkin päätät, mihin vedät rajan. Pelaajatkin ovat vetäneet rajat, joten lopputulos on se, mitä nykyään on. Pelaajalle on halvempaa ostaa esim se kalliimpi prossu, kuin maksaa kymmenien pelien hieromisesta erittäin hankalasti. Ja vastaan voi tulla jopa seinä, jolloin ei vain päästä tiettyyn suuntaan.
Prossuvalmistajat ovat nyt valinneet NIILLE halvan "monistetaan samaa" tien. PELAAVILLE asiakkaille tämän suunnan eteneminen ei ole välttämättä hyvä asia. Nyt ostetaan mielettömän moniytimisiä prossuja hommaan, jossa lisäytimistä ei tahdota saada oikein millään hyötyä.
Näillä asioilla ei ole mitään tekemistä
säikeistyksen vaikeuden kanssa.
Joten miksi pelinkoodaja tähtäisi edes yli 6- ytimen laskentahyötyyn?
Tämä kysymys on juuri sellainen joka elää aikojen saatossa. Näin:
Siihen aikaan kun konsoleissa oli yhden ytimen prosessori (Megadrive, PS1 jne): "Joten miksi pelinkoodaja tähtäisi edes yli 1- ytimen laskentahyötyyn?"
Siihen aikaan kun konsoleissa oli kolmen ytimen prosessori (X-Box jne): "Joten miksi pelinkoodaja tähtäisi edes yli 3- ytimen laskentahyötyyn?"
Siihen aikaan kun konsoleissa oli kuuden ytimen prosessori (X-Box One, PS4 jne): "Joten miksi pelinkoodaja tähtäisi edes yli 6- ytimen laskentahyötyyn?"
Siihen aikaan kun konsoleissa tulee joskus olemaan n ytimen prosessori (?): "Joten miksi pelinkoodaja tähtäisi edes yli n- ytimen laskentahyötyyn?"
"Huippuhankalaa" säikeistystä pystytään paremmin tekemään kun ytimien määrä lisääntyy laitteissa. Yllättyneet: