jemalloc 5.3.1

Efter nĂ€stan fyra Ă„rs paus (se "jemalloc allt") lanserades 5.3.1 allokeraren jemalloc – en implementation av malloc(3) dĂ€r sĂ€rskild uppmĂ€rksamhet Ă€gnas Ă„t att förhindra fragmentering och stödja skalbar parallellitet.

Den nya versionen inkluderar fler Àn 390 commits med buggfixar, nya funktioner, prestandaoptimeringar och förbÀttrad portabilitet.

Projektet Àr skrivet i C och distribueras under BSD-licensen.

Nya funktioner:

  • stöd för pvalloc(3).
  • detektering av dubbel minnesfrislĂ€ppning i debug-build;
  • en ny kompilationsparameter —enable-pageid har lagts till för att aktivera annotering av minnesavbildning.
  • en runtime-parameter prof_bt_max för att styra den maximala stackdjupet för profilering har lagts till;
  • en kompilationsparameter —enable-force-getenv har lagts till för att anvĂ€nda getenv istĂ€llet för secure_getenv;
  • en kompilationsparameter —disable-dss har lagts till för att inaktivera anvĂ€ndning av sbrk(2);
  • en kompilationsparameter tcache_ncached_max har lagts till för att styra antalet element i trĂ„dköket.
  • en runtime-parameter calloc_madvise_threshold har lagts till för att bestĂ€mma om kernel eller memset anvĂ€nds för att nollstĂ€lla allokerade minnesblock vid anrop av calloc;
  • en kompilationsparameter —disable-user-config har lagts till för att inaktivera upplĂ€sning av konfigurationer frĂ„n filen /etc/malloc.conf eller frĂ„n miljövariabeln MALLOC_CONF vid körning;
  • en runtime-parameter disable_large_size_classes har lagts till för att sĂ€kerstĂ€lla att den nya algoritmen för berĂ€kning av tillgĂ€nglig storlek fungerar, vilket minimerar minnesoverhead vid allokering av stora minnesblock, det vill sĂ€ga med storlek >= 4 * PAGE;
  • anvĂ€ndning av process_madvise har lagts till och en runtime-parameter process_madvise_max_batch för att styra det maximala antalet minnesregioner i varje "batch" madvise har lagts till;
  • mallctl-grĂ€nssnitt har lagts till:
    • opt.prof_bt_max;
    • arena..name för att Ă€ndra och hĂ€mta namn pĂ„ "arenor";
    • thread.tcache.max för att Ă€ndra och hĂ€mta tcache_max för den aktuella trĂ„den;
    • thread.tcache.ncached_max.write och thread.tcache.ncached_max.read_sizeclass för att Ă€ndra och hĂ€mta ncached_max för den aktuella trĂ„den;
    • arenas.hugepage för att Ă„terge den anvĂ€nda storleken av hugepage, Ă€ven exporterade till malloc-statistik;
    • approximate_stats.active för att fĂ„ ett ungefĂ€rligt vĂ€rde av den nuvarande mĂ€ngden aktiva bytes, som inte bör jĂ€mföras med andra fĂ„ngade statistiska data.
  • mĂ„nga buggar har ocksĂ„ Ă„tgĂ€rdats och dokumentationen har förbĂ€ttrats.

KĂ€lla: linux.org.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster