• [^] # Re: Informatique : Optimisation, minimisation, projet

    Posté par (site web personnel) . En réponse au journal Informatique : Optimisation, minimisation, projet. Évalué à 1.

    Pour les avoir testée sur du traitement d'image en temps réel, ou les algos sont deja bien trapus, avec des matrices lourdes; j'ai constaté de réelles différences entre mon code genere a la main et du code optimise par compilo.

    Essaye de comparer ces 3 fonctions en temps d'executions, et imagine toi 5000 appels de cette fonction par secondes... la difference est visible.

    Si t'arrives a genere un code aussi rapide sans optimisations juste avec les optimisations compilo, ca m'interresse !!!!

    Prb :
    Recherche de la plus proche puissance de 2 superieure.

    /*sans optimisation*/
    int p2(p)
    {
    return 1 << (int) ceilf(logf((float) p) / M_LN2);
    }
    ===========================
    /*avec*/
    #define lowest_bit(x) (x & -x)
    #define is_pow2(x) (x != 0 && x == lowest_bit(x))
    static int ceil_pow2_minus_1(unsigned int x)
    {
    unsigned int i;

    for (i=1; i; i <<= 1)
    x |= x >> i;
    return x;
    }
    #define p2(p) (is_pow2(p)?p:ceil_pow2_minus_1((unsigned int) p) + 1)
    ====================
    /* pareil*/
    int p2(p){
    p -= 1;
    p |= p >> 16;
    p |= p >> 8;
    p |= p >> 4;
    p |= p >> 2;
    p |= p >> 1;
    return p + 1;
    }
    =========================