No enger Paus vu bal véier Joer (kuckt "jemalloc alles») d'Verëffentlechung vum 5.3.1 vum Allokator huet stattfonnt jemalloc – eng Implementatioun vu malloc(3), déi d'Fragmentéierungspréventioun an d'Ënnerstëtzung fir skalierbar Konkurrenzzäit betount.
Déi nei Verëffentlechung enthält iwwer 390 Commits mat Bugfixes, neie Funktiounen, Performanceoptimiséierungen a Portabilitéitsverbesserungen.
De Projet ass a C geschriwwen a gëtt ënner der BSD Lizenz verdeelt.
Nei Fonctiounen:
- pvalloc(3) Ënnerstëtzung.
- duebel Fräiheet am Debug-Build entdeckt;
- D'Kompiléierungsoptioun --enable-pageid gouf bäigefüügt fir d'Memory-Mapped Annotatioun z'aktivéieren.
- Runtime-Parameter prof_bt_max gouf bäigefüügt fir déi maximal Stackdéift fir d'Profiling ze kontrolléieren;
- Kompiléierungsoptioun --enable-force-getenv gouf bäigefüügt fir getenv amplaz vu secure_getenv ze benotzen;
- D'Kompiléierungsoptioun --disable-dss gouf bäigefüügt fir d'Benotzung vun sbrk(2) ze deaktivéieren;
- D'Kompiléierungsoptioun tcache_ncached_max gouf bäigefüügt fir d'Zuel vun den Elementer am Thread-Cache ze kontrolléieren.
- Runtime-Parameter calloc_madvise_threshold gouf bäigefüügt fir ze bestëmmen, ob de Kernel oder de Memset benotzt gëtt fir zougewisen Speicherblöcke beim Opruff vu calloc op Null ze setzen;
- D'Optioun "--disable-user-config" beim Kompiléiere gouf bäigefüügt, fir d'Liese vu Konfiguratiounen aus der Datei /etc/malloc.conf oder vun der Ëmweltvariabel MALLOC_CONF beim Lafzäitaktivitéit ze deaktivéieren.
- De Runtime-Parameter disable_large_size_classes gouf bäigefüügt fir den neien Algorithmus fir d'Berechnung vun der verfügbarer Gréisst z'aktivéieren, deen den Speicher-Overhead bei der Allokatioun vu grousse Speicherblöcke miniméiert, d.h. mat enger Gréisst >= 4 * PAGE;
- D'Benotzung vu process_madvise gouf aktivéiert an de Runtime-Parameter process_madvise_max_batch gouf bäigefüügt fir déi maximal Zuel vu Speicherregiounen an all madvise "Batch" ze kontrolléieren;
- mallctl-Interfaces goufen derbäigesat:
- opt.prof_bt_max;
- arena.
- thread.tcache.max fir den tcache_max vum aktuellen Thread z'änneren an ze kréien;
- thread.tcache.ncached_max.write an thread.tcache.ncached_max.read_sizeclass fir z'änneren an den ncached_max vum aktuellen Thread ze kréien;
- arenas.hugepage fir déi benotzt Hugepage-Gréisst zréckzeginn, och an Malloc-Statistiken exportéiert;
- approximate_stats.active fir en ongeféiere Wäert vun der aktueller Quantitéit un aktiven Bytes ze kréien, deen net mat anere ofgeruffene Statistike verglach soll ginn.
- Vill Feeler goufen och korrigéiert an d'Dokumentatioun gouf verbessert.
Source: linux.org.ru
