Kannattaako itseoptimointi

vai tekeekö

nykykääntäjä jo niin hyvää koodia että käsin optimoinnista ei ole ratkaisevaa hyötyä? Tarkoitan lähinnä C -kääntäji (VC.net yms)

10

1508

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • aaaaaaaaaaaaa

      Optimointi ei kannata, jos siihen ei ole tarvetta tai siitä ei ole hyötyä. Käsin optimointi on paras ja tehokkain tapa lisätä nopeutta tai vähentää ohjelman kokoa, mutta eihän se tarkoita assemblerin mukaan ottamista vaan ohjelmakoodin muuttamista ja uudelleen järjestämistä.

    • joskus kyllä

      Yleensä käsin ei saa yhtä hyvää matalan tason koodia kuin kääntäjällä. Joskus se on kuitenkin mahdollista. Lisäksi, jos tuntee tarvittavat tekniikat, voi rakentaa jonkin koodin osan tavalla, joka on korkeamman tason kielessä vaikea toteuttaa.

      Harvoin se on vaivan arvoista. Parempi tehdä ensin toimiva ohjelma korkean tason kielellä ja sitten katsoa, onko varaa ja tarvetta optimoida kalliita kohtia matalalla tasolla. Nykyään saattaa huippupelintekijäkin sanoa, että "emme käytä assembleria ollenkaan". Muistaakseni oli Gears of Warista kyse.

      Ennenhän se oli pakko assyyn tarttua, jos halusi nopeita graffoja. Nyt on kaikenmaailman kiihdyttimet, ja DirectX:t tai OpenGL:t valttia. Assyn merkitys on siis vähentynyt, mutta ei poistunut. Ja on muitakin aloja, joilla sitä tarvitaan, kuin nuo pelit.

      Jos kysyit siksi, että mietit kannattaako assya oppia, niin pärjäät kyllä ilman. Mutta ei se vahinkoakaan tee ;-)

      • paskapuhetta!

        paskapuhetta!

        käsin saa aina parempaa assemblya mitä kääntäjät tuottaa. onhan se jo loogistakin, älä sokeana usko mitä kirjoista luet vaan ajattele nyt itsekin !


      • aaaaaaaaaaaaa
        paskapuhetta! kirjoitti:

        paskapuhetta!

        käsin saa aina parempaa assemblya mitä kääntäjät tuottaa. onhan se jo loogistakin, älä sokeana usko mitä kirjoista luet vaan ajattele nyt itsekin !

        Et tainnut hiffata, että asiaa voi tarkistella myös ohjelmistotuotannollisesti jossa kannattavuuden tekijöinä on myös raha, aika ja osaaminen.


      • guru
        aaaaaaaaaaaaa kirjoitti:

        Et tainnut hiffata, että asiaa voi tarkistella myös ohjelmistotuotannollisesti jossa kannattavuuden tekijöinä on myös raha, aika ja osaaminen.

        "Yleensä käsin ei saa yhtä hyvää matalan tason koodia kuin kääntäjällä."

        Vastasin tuohon vaan, että kyllä saa. Jos firma asssemblya käyttää niin luulisi että myös osaamista löytyy. Turha sitä on assylla arpoa jos ei oo skillssejä !


      • aaaaaaaaaaaaa
        guru kirjoitti:

        "Yleensä käsin ei saa yhtä hyvää matalan tason koodia kuin kääntäjällä."

        Vastasin tuohon vaan, että kyllä saa. Jos firma asssemblya käyttää niin luulisi että myös osaamista löytyy. Turha sitä on assylla arpoa jos ei oo skillssejä !

        Yleensä tilanne on se, että ohjelmoija taitaa paremmin korkeamman tason kielen kuin matalan tason kielen. Vaikka ohjelmoija hallitsisi yhtä hyvin matalan sekä korkean tason kielen, niin siitä huolimatta ohjelmoijan tuottavuus on paljon heikompi matalan tason kielellä, (koska ojelmoijan joutuu koodaamaan enemmän). Jos hyvyyttä mitataan tuottavuudella, niin yleensä silloin kääntäjä tekee parempaa matalan tason koodia kuin ohjelmoija käsin.


      • vs. nopeus
        aaaaaaaaaaaaa kirjoitti:

        Yleensä tilanne on se, että ohjelmoija taitaa paremmin korkeamman tason kielen kuin matalan tason kielen. Vaikka ohjelmoija hallitsisi yhtä hyvin matalan sekä korkean tason kielen, niin siitä huolimatta ohjelmoijan tuottavuus on paljon heikompi matalan tason kielellä, (koska ojelmoijan joutuu koodaamaan enemmän). Jos hyvyyttä mitataan tuottavuudella, niin yleensä silloin kääntäjä tekee parempaa matalan tason koodia kuin ohjelmoija käsin.

        Mistäs tämä nyt tyottavuuteen lipsahti? Jos on todellista tarvetta lisänopeuteen, on vaihtoehdot siinä vaiheessa niin vähissä että on pakko vääntää nopeampaa algoritmiä matalammalla tasolla.

        Eihän silloinkaan koko ohjelman suunnittelusta puhuta vaan juuri siitä osasta mikä nopeutusta kaipaa. Tuottavuudella ei siis ole asian kanssa mitään tekemistä kun laskukykyä pitää parantaa.


    • Coodailija

      C koodin uudelleen epäloogisuuksista, niin se nopeuttaa yleensä tarpeeksi.

      Ei ne kääntäjät ihmeitä tee...sanotaan mitä sanotaan.

      Sit jos muu ei auta ni eikun asseblerilla vääntämään.

      • optimointi olavi

        Siis ei kannata keksiä pyörää uudestaan. Ammatti koodarit on tehny noi kirjastot valmiiksi, joten ne toimivat todennäköisesti 100x nopeemmin kuin omat viritelmät. Nopeutta saa lisään koodiin valitsemalla oikee menetelmä johonkin haluttuun asiaan. Se ei aina ole niin helppoa kuin sattaisi kuvitella.


      • ooo pium
        optimointi olavi kirjoitti:

        Siis ei kannata keksiä pyörää uudestaan. Ammatti koodarit on tehny noi kirjastot valmiiksi, joten ne toimivat todennäköisesti 100x nopeemmin kuin omat viritelmät. Nopeutta saa lisään koodiin valitsemalla oikee menetelmä johonkin haluttuun asiaan. Se ei aina ole niin helppoa kuin sattaisi kuvitella.

        Pystyk ass kiele tekemä prontaple koodia? Esim vinil ja maksal?


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Riikan perintö: ennätysvelka, ennätystyöttömyys ja ennätysverotus

      Tavallisen keskituloisen suomalaisen verotus on kireintä vuosikymmeniin, ja ensi vuonna palkansaajien käteen jää vieläki
      Maailman menoa
      215
      3637
    2. Mies, näen sinua hetken

      ja olet mielessä ikuisuuden. Toisia näen ikuisuuden ja he eivät jää mieleen hetkeksikään. Muistan jokaisen kohtaamisen
      Ikävä
      14
      3499
    3. Riikka Purra on ihana, jämpti

      Hän yrittää saada Suomen taas kuntoon. Sanoo asiat suoraan, eikä piiloudu kapulakielen taakse. Riikan kaltaisia päättä
      Maailman menoa
      91
      2608
    4. Antti Lindtman kiitti valtiovarainministeri Purraa

      Ministeri Purra kertoi ottavasa vastuun EU:n alijäämämenettelyyn joutumisesta. Hän myös sanoi tietävänsä, että Lindtman
      Perussuomalaiset
      12
      2199
    5. Henkilökohtaisia paljastuksia Dubaista - Kohujulkkis Sofia Belorf on äitipuoli ja puoliso!

      Tiesitkö, että Sofia on äitipuoli ja rakastava puoliso? Sofia Belorf saa oman sarjan, jossa seurataan hänen Bling Bling
      Kotimaiset julkkisjuorut
      59
      2150
    6. Suomalaisten enemmistö on (ateisteja / fiksuja / sosialisteja)

      Tai jokin noiden yhdistelmä, koska S-ryhmän markkinaosuus päivittäistavarakaupasta on yli 50 prosenttia.
      Maailman menoa
      11
      1919
    7. Sorsa: kuvaputki - Lipponen: kaasuputki - Marin: ryppyputki

      Nuo kolme demaria ovat poikkeuksia Suomen poliittisessa historiassa. Ovat ainoita, jotka ovat kyenneet nostamaan puolue
      48
      1745
    8. Mitä ajattelet

      Siitä henkilöstä jota kaipaat? Sana vapaa!
      Ikävä
      90
      1601
    9. Kenen luo menisit nyt

      jos se olisi mahdollista?
      Ikävä
      79
      1207
    10. Mikä kaivatussasi

      kolahti? 💥
      Ikävä
      72
      1163
    Aihe