• [^] # Re: Speed King ...g_slice

    Posté par . En réponse au journal Preview de Gnome 2.14. Évalué à 3.

    idée de glice
    (Tel que je l'ai compris)

    Je dirais que c'est qqch de trés logique par rapport a l'allocation mémoire, en général :
    - le programme a un certain nombre de données de taille fixe (strucuture, objet, ... etc)
    - le programme veut réutiliser la mémoire peut aprés l'avoir liberée.

    les memory slice est un manager de mémoire adapté a un certain type de donnée : les éléments de taille fixe, en grand nombre.



    valgrind sait faire

    Pour valgrind: ca doit etre possible, valgrind peut dire qui a alloué la mémoire, voir l'empilement des appels:



    Memcheck reports these errors as soon as they occur, giving the source line number at which it occurred, and also a stack trace of the functions called to reach that line. Memcheck tracks addressability at the byte-level, and initialisation of values at the bit-level. As a result, it can detect the use of single uninitialised bits, and does not report spurious errors on bitfield operations. Memcheck runs programs about 10--30x slower than normal.



    Source: http://valgrind.org/info/tools.html#memcheck

    ce qu'il manque
    Ce que j'aimerais voir (j'ai pas cherché donc ca existe peut etre déja)
    c'est une api assez générique de gestion de mémoire (genre les allocator de la STL) dans la glib,
    comme ca on pourrait changer en une ligne (set-default-allocatore) toutes les allocation sans avoir a changer chaque malloc/free.

    De plus si ils pouvais mettre un profiler de mémoire dans leurs API, ca aiderais tout le monde, surtout pour faire du code de qualité.