• # le plus rapide en code simple

    Posté par (site web personnel) . En réponse au journal Recherche de valeur dans un tableau et l'écosystème des compilateurs C++. Évalué à 4.

    sans utilisé de SSE, c'est le code le plus rapide que j'arrive à faire. Je triche un peu avec le v[16] comme prefetch.
    ```
    size_t find_int_c_unrolled_8(const int k, const int* v, size_t n)
    {
    size_t i = 0;
    int t=0;
    for (; n - i >= 8; i += 8,v+=8)
    {
    t |= v[16];
    if (v[0] == k) return i;
    if (v[1] == k) return i + 1;
    if (v[2] == k) return i + 2;
    if (v[3] == k) return i + 3;
    if (v[4] == k) return i + 4;
    if (v[5] == k) return i + 5;
    if (v[6] == k) return i + 6;
    if (v[7] == k) return i + 7;
    }
    volatile int tt =t;
    for (; i != n; i++,v++)
    if (v[0] == k)
    return i;

    return n;
    }
    ```

    "La première sécurité est la liberté"