Després d'una pausa de gairebé quatre anys (vegeu "jemalloc tot») es va dur a terme el llançament de la versió 5.3.1 de l'assignador jemalloc – una implementació de malloc(3) que emfatitza la prevenció de la fragmentació i el suport per a la concurrència escalable.
La nova versió inclou més de 390 commits amb correcció d'errors, noves funcions, optimitzacions de rendiment i millores de portabilitat.
El projecte està escrit en C i es distribueix sota la llicència BSD.
Noves oportunitats:
- Suport de pvalloc(3).
- doble lliure detectat a la compilació de depuració;
- S'ha afegit l'opció de compilació --enable-pageid per habilitar l'anotació mapada en memòria.
- S'ha afegit el paràmetre d'execució prof_bt_max per controlar la profunditat màxima de la pila per a la creació de perfils;
- S'ha afegit l'opció de compilació --enable-force-getenv per utilitzar getenv en lloc de secure_getenv;
- S'ha afegit l'opció de compilació --disable-dss per desactivar l'ús de sbrk(2);
- S'ha afegit l'opció de compilació tcache_ncached_max per controlar el nombre d'elements a la memòria cau de fils.
- S'ha afegit el paràmetre d'execució calloc_madvise_threshold per determinar si s'utilitza el nucli o el conjunt de mems per posar a zero els blocs de memòria assignats en cridar calloc;
- S'ha afegit l'opció de compilació --disable-user-config per desactivar la lectura de configuracions des del fitxer /etc/malloc.conf o des de la variable d'entorn MALLOC_CONF durant l'execució.
- S'ha afegit el paràmetre d'execució disable_large_size_classes per habilitar el nou algorisme de càlcul de mida disponible, que minimitza la sobrecàrrega de memòria en assignar blocs de memòria grans, és a dir, amb una mida >= 4 * PAGE;
- S'ha habilitat l'ús de process_madvise i s'ha afegit el paràmetre d'execució process_madvise_max_batch per controlar el nombre màxim de regions de memòria a cada "batch" de madvise.
- Interfícies mallctl afegides:
- opt.prof_bt_max;
- arena.
- thread.tcache.max per canviar i obtenir el tcache_max del fil actual;
- thread.tcache.ncached_max.write i thread.tcache.ncached_max.read_sizeclass per canviar i obtenir el ncached_max del fil actual;
- arenas.hugepage per retornar la mida de la pàgina enorme utilitzada, també exportada a les estadístiques de malloc;
- approximate_stats.active per obtenir un valor aproximat de la quantitat actual de bytes actius, que no s'ha de comparar amb altres estadístiques recuperades.
- També s'han corregit molts errors i s'ha millorat la documentació.
Font: linux.org.ru
