Hirdetés

Új hozzászólás Aktív témák

  • joysefke

    veterán

    LOGOUT blog

    Erre én is kíváncsi vagyok, most vettem egy Pi3 plusz-t :)

    amit én laikusként problémának látok, hogy

    1, csak egyetlen szálon futtatod a programot. Korrekt úgy lenne a dolog (az algoritmus primitívségét figyelmen kívül hagyva), hogy ha az elején lekérdeznéd mennyi logikai processzor (a Pi-ben ez 4db) van és annyi szálat indítanál, ahol mindegyik szál csupán a megfelelő modulójú számokra ellenőrizné a prímséget, a végén pedig összesítenéd a részeredményeket.

    2, az egész program mindenestől belefér az egyetlen használt logikai processzor gyorsítótárába, ez nem feltétlenül életszerű...

    3, Nyilván nem 20mp-t számít (lehet 20ms-t sem), de ha a konzolra írás idejét nem számoltad bele az Arduinos benchmarkban, akkor a Pi-vel se mérd bele a futási időbe:

    Serial.println(millis() - start);
    Serial.println(primes);

    itt a millis()-start utasítás végrehajtásával már megvan a benchmark eredménye, amit a kettő darab konzolra írás már nem befolyásol. a Pi-s példában pedig előbb írsz a konzolra, majd visszatér a program és nyilván csupán ez után mérsz egy időt ami nem a nettó futási időd lesz, hanem (feltételezem) az az idő ami eltelik amennyi idő alatt az egész program visszaadja a vezérlést a linuxos parancsértelmezőnek.

    szerk: igen olvastam a végét :)

    [ Szerkesztve ]

  • weiss

    addikt

    válasz joysefke #1 üzenetére

    1/ Ez akkor lenne érdekes, ha egy ideális prímkereső implementációt írnék. Most csak annyi volt a lényeg, hogy egy szálon mekkora a teljesítmény különbség.

    2/ Valóban, de így pont a raspynak kellene sokkal gyorsabbnak lennie.

    3/ Jogos :)

    I did nothing, the pavement was his enemy!

Új hozzászólás Aktív témák