jemalloc 5.3.1

Après une interruption de près de quatre ans (voir «tout de jemalloc« La version 5.3.1 de l'allocateur a été publiée. » jemalloc – une implémentation de malloc(3) qui met l'accent sur la prévention de la fragmentation et la prise en charge de la concurrence évolutive.

Cette nouvelle version comprend plus de 390 modifications avec des corrections de bugs, de nouvelles fonctionnalités, des optimisations de performances et des améliorations de la portabilité.

Ce projet est écrit en C et distribué sous licence BSD.

Nouvelles opportunités:

  • prise en charge de pvalloc(3).
  • Double libération détectée dans la version de débogage ;
  • Ajout de l'option de compilation --enable-pageid pour activer l'annotation mappée en mémoire.
  • Ajout du paramètre d'exécution prof_bt_max pour contrôler la profondeur maximale de la pile pour le profilage ;
  • Ajout de l'option de compilation --enable-force-getenv pour utiliser getenv au lieu de secure_getenv ;
  • Ajout de l'option de compilation --disable-dss pour désactiver l'utilisation de sbrk(2) ;
  • Ajout de l'option de compilation tcache_ncached_max pour contrôler le nombre d'éléments dans le cache du thread.
  • Ajout du paramètre d'exécution calloc_madvise_threshold pour déterminer si le noyau ou memset est utilisé pour mettre à zéro les blocs de mémoire alloués lors de l'appel à calloc ;
  • Ajout de l'option de compilation --disable-user-config pour désactiver la lecture des configurations à partir du fichier /etc/malloc.conf ou de la variable d'environnement MALLOC_CONF lors de l'exécution.
  • Ajout du paramètre d'exécution disable_large_size_classes pour activer le nouvel algorithme de calcul de taille disponible, qui minimise la surcharge mémoire lors de l'allocation de grands blocs de mémoire, c'est-à-dire avec une taille >= 4 * PAGE ;
  • Activation de l'utilisation de process_madvise et ajout du paramètre d'exécution process_madvise_max_batch pour contrôler le nombre maximal de régions de mémoire dans chaque « lot » madvise ;
  • Interfaces mallctl ajoutées :
    • opt.prof_bt_max;
    • arène.
    • thread.tcache.max pour modifier et obtenir le tcache_max du thread actuel ;
    • thread.tcache.ncached_max.write et thread.tcache.ncached_max.read_sizeclass pour modifier et obtenir le ncached_max du thread actuel ;
    • arenas.hugepage pour renvoyer la taille de la page énorme utilisée, également exportée vers les statistiques malloc ;
    • Utilisez approximate_stats.active pour obtenir une valeur approximative de la quantité actuelle d'octets actifs, qui ne doit pas être comparée à d'autres statistiques récupérées.
  • De nombreux bugs ont également été corrigés et la documentation a été améliorée.

Source: linux.org.ru

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster