Tietokoneesi voisi olla nopeampi, mutta ohjelmistoyritykset eivät välitä

Yksinkertaisin logiikka kertoo meille, että kun tietokoneet tulevat tehokkaammiksi, sovellusten pitäisi lisätä keskimääräistä nopeuttaan. On kuitenkin monia tehtäviä, jotka eivät ilmeisesti ole parantaneet niiden suorituskykyä. Toisin sanoen se antaa meille tunteen, että niitä tehdessä ne eivät toimi paremmin kuin edellisellä tietokoneellamme. Tätä ilmiötä kutsutaan puhekielessä Wirthin laiksi. Miksi se tapahtuu?

Laskennassa on niin sanottu Mooren laki, joka viittaa sirujen monimutkaisuuteen eikä niiden nopeuteen. Amdahlin laki oli myös olemassa pitkään, aina 2000-luvun puoliväliin asti, jolloin jouduttiin hyppäämään moniytimiin siruihin. Ne kaikki ovat lakeja, ne perustuvat laitteistoon, mutta tämän tehtävänä on suorittaa ohjelmistoja ja suorituskyvyn kannalta huonot käytännöt ohjelmien suhteen voivat pilata suorituskyvyn kasvun.

Tietokoneesi voisi olla nopeampi

Mikä on Wirthin laki ja miten se vaikuttaa tietokoneeni suorituskykyyn?

Kun laitteistoresurssit ovat tulleet lähes äärettömiksi, tarve kirjoittaa hyvää koodia on kadonnut. Tärkeää ei ole, että ohjelma toimii, vaan että se käyttää mahdollisimman vähän laitteistoresursseja. Joko muistin koko tai prosessorin teho. Ongelma johtuu siitä, että laitteiston suorituskyvyn kasvaessa ongelmat, jotka on aiemmin ratkaistu hyvällä ohjelmointikurilla, jätetään yhä useammin huomiotta, ja ongelma ei koske vain tietokoneita tai matkapuhelimia.

Näin ollen huomaamme ongelman, että sovellukset, joiden pitäisi kuluttaa osa käyttämistään resursseista, ovat kuin keksejä kuuluisalle Sesame Streetin siniselle hirviölle. Nyt , sen lain nimi, jonka olemme velkaa Niklaus Wirthille , joka kirjoitti helmikuussa 1995 artikkelin otsikolla Veto kevyen ohjelmiston puolesta joka voitaisiin kääntää "vetoomukseksi puhtaamman ohjelmiston puolesta".

Oletetaan, että jokaisen uuden iteroinnin yhteydessä huonot käytännöt tarkoittavat sitä, että raskaampien ja vähemmän tehokkaiden prosessorien prosessointikapasiteetin kasvaessa ohjelmia tehdään. ottaa Microsoft Esimerkiksi 99 % ihmisistä käyttää sitä edelleen kuten 20 vuotta sitten. Sovelluksen koko on kuitenkin kasvanut valtavasti, ja tuolloin tietokoneet eivät pystyneet käyttämään uutta versiota hyvin.

Persona Escribiendo Código

Onko se jotain väistämätöntä?

Ei oikeastaan, sinun on vain suoritettava ohjelmien vanhempia versioita suorituskyvyn saavuttamiseksi. Niin typerältä kuin se saattaakin tuntua, joskus vanhojen versioiden vetäminen Abandonwaren kautta tiettyjen tehtävien suorittamiseksi on paljon parempi kuin uusien versioiden käyttämättä jättäminen. Ja Wirthin lakia ei anneta vain yleisissä sovelluksissa. Olemme voineet nähdä, kuinka tietyt pelien uudelleenjulkaisut, jotka ovat menneiden pelien remasteroituja versioita, toimivat huonosti uudella laitteistolla.

Joten vika, että tietyt asiat eivät näytä menevän nopeammin, ei johdu siitä, että tietokoneet eivät ole yhtäkkiä hidastuneet tai antaneet meille kyydin suorituskykyyn. Vika on ohjelmistossa, joka on lopettanut itsensä optimoinnin ja sen myötä tehoton. Monet yritykset ovat lakanneet toimimasta laatuosastoilla, jotka ovat ihmisiä, jotka tarkistavat, että koodi on hyvin kirjoitettu ja optimoitu. Hyvä sovellus ei vain toimi, vaan se käyttää mahdollisimman vähän resursseja.

Ja miksi näin tapahtuu? Johtuen siitä, että määräaikoja ja julkaisuja määrätään, jotka riippuvat myyntiosastoista. Loppujen lopuksi ohjelmisto voidaan päivittää ja korjata. Ongelmana on, että monet sovellukset, jotka mielestämme toimivat hyvin, toimivat itse asiassa huonommin kuin niiden pitäisi.