jemalloc 5.3.1

Setelah jeda hampir empat tahun (lihat "jemalloc semuanya») perilisan alokator versi 5.3.1 telah berlangsung jemaloc – sebuah implementasi dari malloc(3) yang menekankan pencegahan fragmentasi dan dukungan untuk konkurensi yang terukur.

Rilis terbaru ini mencakup lebih dari 390 commit dengan perbaikan bug, fitur baru, optimasi kinerja, dan peningkatan portabilitas.

Proyek ini ditulis dalam bahasa C dan didistribusikan di bawah lisensi BSD.

Kesempatan baru:

  • dukungan pvalloc(3).
  • Double free terdeteksi dalam build debug;
  • Menambahkan opsi kompilasi --enable-pageid untuk mengaktifkan anotasi yang dipetakan ke memori.
  • Menambahkan parameter runtime prof_bt_max untuk mengontrol kedalaman tumpukan maksimum untuk pembuatan profil;
  • Menambahkan opsi kompilasi --enable-force-getenv untuk menggunakan getenv sebagai pengganti secure_getenv;
  • Menambahkan opsi kompilasi --disable-dss untuk menonaktifkan penggunaan sbrk(2);
  • Menambahkan opsi kompilasi tcache_ncached_max untuk mengontrol jumlah item dalam cache thread.
  • Menambahkan parameter runtime calloc_madvise_threshold untuk menentukan apakah kernel atau memset digunakan untuk mengosongkan blok memori yang dialokasikan saat memanggil calloc;
  • Menambahkan opsi kompilasi --disable-user-config untuk menonaktifkan pembacaan konfigurasi dari file /etc/malloc.conf atau dari variabel lingkungan MALLOC_CONF saat runtime.
  • Menambahkan parameter runtime disable_large_size_classes untuk mengaktifkan algoritma perhitungan ukuran baru yang tersedia, yang meminimalkan overhead memori saat mengalokasikan blok memori besar, yaitu dengan ukuran >= 4 * PAGE;
  • Mengaktifkan penggunaan process_madvise dan menambahkan parameter runtime process_madvise_max_batch untuk mengontrol jumlah maksimum wilayah memori di setiap "batch" madvise;
  • Antarmuka mallctl ditambahkan:
    • opt.prof_bt_max;
    • arena.
    • Gunakan `thread.tcache.max` untuk mengubah dan mendapatkan nilai `tcache_max` dari thread saat ini;
    • thread.tcache.ncached_max.write dan thread.tcache.ncached_max.read_sizeclass untuk mengubah dan mendapatkan ncached_max dari thread saat ini;
    • arenas.hugepage untuk mengembalikan ukuran hugepage yang digunakan, juga diekspor ke statistik malloc;
    • Gunakan approximate_stats.active untuk mendapatkan nilai perkiraan jumlah byte aktif saat ini, yang tidak boleh dibandingkan dengan statistik lain yang telah diambil.
  • Banyak bug juga telah diperbaiki dan dokumentasi telah ditingkatkan.

Sumber: linux.org.ru

Beli hosting yang andal untuk situs dengan perlindungan DDoS, server VPS VDS 🔥 Beli hosting website andal dengan perlindungan DDoS, server VPS VDS | ProHoster