• # la version bloc de mbw est bugguée

    Posté par (site web personnel) . En réponse au message Performances de memcpy ???. Évalué à 5.

    La version bloc de mbw est bugguée, elle ne fait pas vraiment un
    memcpy, il ne faut vraiment pas prendre en compte le résultat obtenu
    avec... Il faut appliquer le patch ci-dessous pour que ce soit vraiment
    une copie complète:

    Seulement dans mbw-mine: mbw
    diff -ur mbw/mbw.c mbw-mine/mbw.c
    --- mbw/mbw.c 2006年07月04日 14:45:01.000000000 +0200
    +++ mbw-mine/mbw.c 2010年02月09日 13:39:52.000000000 +0100
    @@ -98,11 +98,11 @@
    gettimeofday(&endtime, NULL);
    } else if(type==2) { /* memcpy block test */
    gettimeofday(&starttime, NULL);
    - for(t=0; t<array_bytes; t+=block_size) {
    - c=mempcpy(b,a,block_size);
    + for(t=0; t+block_size<=array_bytes; t+=block_size) {
    + c=mempcpy((void*)b+t,(void*)a+t,block_size);
    }
    - if(t>array_bytes){
    - c=mempcpy(b,a,t-array_bytes);
    + if(t<array_bytes){
    + c=mempcpy((void*)b+t,(void*)a+t,array_bytes-t);
    }
    gettimeofday(&endtime, NULL);
    } else { /* dumb test */