• # pourquoi les blocs ?

    Posté par . En réponse au message problème aléatoire d'utilisation de la zlib. Évalué à 1.

    pour ton problème de Z_DATA_ERROR, je ne sais pas ;-(

    mais, sinon, je ne saisis pas pourquoi tu utliises ce découpage en bloc... ou j'ai raté quelque chose.

    tu dois accéder à un fichier de quelques Go de manière aléatoire ? c'est-à-dire ?
    d'après ton test.c j'ai l'impression au final que l'intégralité de ton fichier (de plusieurs Go) est saucissonnée en blocs de 32 ko et que chacun de ces blocs est compressé, et tu te retrouves en une série de blocs de 32 ko compressés mis à la suite les uns des autres.

    pourquoi tu ne compresse pas à la volée ton fichier (en lisant par blocs de 32ko si tu veux) et en écrivant directement dans un fichier compressé unique

    je verrais bien un truc du style :


    // compression loop
    for(i = 0; i < block_number; i++){
    // read data
    actual_read_size = read(fd_in, buffer, block_size);
    // write data
    actual_write_size = gzwrite(file_out, buffer, block_size);
    }


    qu'est-ce que tu en penses ?

    même principe pour la décompression, avec gzread et write cette fois-ci.