Kyseessä on siis C kieli. Onko mitään nopeus jne... eroa jos käyttää for tai while looppia?
Luuppi pyörii kymmeniä miljoonia kertoja.
While tai For mitä eroa?
6
711
Vastaukset
- c-kuru
while on nopiampi, koskapa se suorittaa lohkon yhden kerran tarkistammatta ehtoa....
Etu on mittava, jos silmukka pyörii kymmeniä moljoonia kertoaj ;)Siis mitä ihmettä ? Kyllä se while tarkistaa aina annetun ehdon ennen kuin lohkoa aletaan suorittamaan. Eihän siinä edes olisi mitään järkeä, jos while ei tarkistaisi sitä ehtoa joka kierroksella.
Sen sijaan do { ... } while(...) ajaa lohkon aina vähintään kerran, jos sitä tarkoitit.
- Unrolling
Riippuu kääntäjästä. Tietenkin käytät kaikkia optimointioptioita (heh) ja kehotat erityisesti unrollaamaan silmukat, mikä vaikkapa gcc:llä tapahtuu optiolla -funroll-loops (tjsp).
Sitten testaat, ja pidät nopeimman löytämäsi version koodissa. Niin se käy. Ei tuohon voi antaa yleistä vastausta, koska eri kääntäjä tekee eri ratkaisuja.
Arvaisin kyllä, että hyvä kääntäjä tuottaisi samaa koodia kummastakin silmukasta, jos logiikka on muuten vastaava. Vaan ei sitä tiedä, ellei kokeile.
Jos epäilet, että joudut käsin ohjelmoimaan, for-silmukka lienee helpompi unrollata käsin. Loop unrolling on hyvä googlehakutermi, jos et todellakaan tiedä msitä puhun. - hakoteillä
ohjelmissa ongelmat ovat ihan muualla kuin tuossa kysymyksessä.
- jep jep
pistä looppi laskemaan alaspäin
int loop = 500;
do {
} while ((--loop) != 0);
nollan tarkistaminen on helpompaa (etenkin -- jälkeen) kuin ehdon i < 500.
mutta kuten tuolla on mainittu kannataa viilata algorytmiä, tämä on pilkun viilausta. - Jokerer
Kiitoksia kaikille. Siis for ja while ei ole nopeus eikä muutakaan eroa ja on ihan makuasia kumpaa käyttää. En varsinaisesti kaipaa nopeutta ohjelmaani lisää, mutta koodaus vaiheessa on ihan sama kumman naputtelee joten aattelin vain varmistaa kumpaa kannattaa käyttää. Ja periaatteessa nopeutta ei ole koskaan likaa.
Ainakin PHP kanssa kehotetaan käyttää while for sijasta koska se on nopeempa isommissa loopeissa. Joskin PHP on PHP.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Zelenskyi ei suostunut nöyrtymään Trumpin ja Vancen edessä, siksi meni pieleen
Trumppia täytyy imarrella, silloin homma toimii aina. Tähän Zelenskyi ei suostunut.6565680Harmi että
Pidät niin vastenmielisenä. Olen minäkin välissä ollut ihan kamala sinulle ja ihmetellyt miten voit minusta tykätä. Se o222477Trump näytti slipoveri-ukolle kaapin paikan!
Slipoveri-ukko Ukrainan presidentti Volodimir Selenskyi meni tapaamaan valkoiseen taloon Trumppia ilman kunnon tuliaisia2691832- 1141727
- 941556
En rehellisesti usko et oisit
Sekuntiakaan oikeasti mua kaivannut. Tai edes miettinyt miten mulla menee. Jotenkin todennäköisesti hyödyt tästäkin jos261502Näin sinusta taas unta!
Unessa olin pakahtuneesti rakastunut sinuun. Olimme vanhassa talossa jossa oli yläkerran huoneissa pyöreät ikkunat. Pöly121311Saako kaunis ihminen parempaa kohtelua?
Onko kauniin ihmisen elämä "helpompaa" kuin tavallisen näköisen ihmisen? Olen kuullut väittämän, että kaunis ihminen saa381286Suomennettua: professori Jeffrey Sachs avaa Ukrainan sodan taustat luennollaan EU parlamentissa
Jeffrey Sachs on yhdysvaltalainen ekonomisti. Sachs toimii Columbian yliopiston The Earth Instituten johtajana. Aiemmin3391281Kun Zele jenkeissä kävi
Enää ei Zele saanutkaan miljardeja ilmaista rahaa niin helposti. Läksyttivät oikein kunnolla pientä miestä ja joutui poi3471271