• [^] # Re: On oublie toujours OCaml

    Posté par . En réponse à la dépêche Havoc Pennington se pose des questions sur les langages du libre. Évalué à 1.

    Petit exemple pour montrer qu'il raconte n'importe quoi :

    #include <stdio.h>
    #include <stdlib.h>

    #define COUNT 32
    #define MAX (2<<23)/COUNT

    int main(int argc, char *argv[])
    {
    srand(5);
    char **Array=new char*[MAX*COUNT];
    printf("Size: %d\n",MAX*COUNT);
    for(int i=0;i<MAX*COUNT;i++)
    {
    Array[i]=new char[(rand()%COUNT)+2];
    Array[i][1]='2';
    }
    printf("finished allocating\n");
    for(int i=0;i<MAX*COUNT;i++)
    delete[] Array[i];
    delete[] Array;

    return 0;
    }

    Ce code alloue 16 million d'elements de taille aleatoire entre 2 et 34 +1 elt de taille 16 million, ecrit un byte dans chaque allocation, et les desalloue.

    Sur ma workstation qui a 512Mo de RAM (210 utilises avant le lancement), il fait monter l'usage jusqu'a 750Mo, donc il tappe dans le swap assez mechamment.
    Il met 20s pour desallouer les 16 millions d'elements.

    Bref, loin, tres loin de ce qu'il raconte et les temps sont a peu pres comparables sous Linux.