jemalloc 5.3.1

Nach einer Pause von fast vier Jahren (siehe "jemalloc alles») Die Veröffentlichung von Version 5.3.1 des Allokators erfolgte jemalloc – eine Implementierung von malloc(3), die den Schwerpunkt auf die Vermeidung von Fragmentierung und die UnterstĂŒtzung skalierbarer ParallelitĂ€t legt.

Die neue Version enthĂ€lt ĂŒber 390 Commits mit Fehlerbehebungen, neuen Funktionen, Leistungsoptimierungen und Verbesserungen der PortabilitĂ€t.

Das Projekt ist in C geschrieben und wird unter der BSD-Lizenz vertrieben.

Neuheiten:

  • pvalloc(3)-UnterstĂŒtzung.
  • Doppelte Freigabe im Debug-Build erkannt;
  • Die Kompilierungsoption --enable-pageid wurde hinzugefĂŒgt, um speicherabgebildete Annotationen zu aktivieren.
  • Der Laufzeitparameter prof_bt_max wurde hinzugefĂŒgt, um die maximale Stapeltiefe fĂŒr das Profiling zu steuern;
  • Die Kompilierungsoption --enable-force-getenv wurde hinzugefĂŒgt, um getenv anstelle von secure_getenv zu verwenden;
  • Die Kompilierungsoption --disable-dss wurde hinzugefĂŒgt, um die Verwendung von sbrk(2) zu deaktivieren;
  • Die Compileroption tcache_ncached_max wurde hinzugefĂŒgt, um die Anzahl der Elemente im Thread-Cache zu steuern.
  • Der Laufzeitparameter calloc_madvise_threshold wurde hinzugefĂŒgt, um festzulegen, ob der Kernel oder memset verwendet wird, um zugewiesene Speicherblöcke beim Aufruf von calloc auf Null zu setzen;
  • Die Kompilierzeitoption --disable-user-config wurde hinzugefĂŒgt, um das Lesen von Konfigurationen aus der Datei /etc/malloc.conf oder aus der Umgebungsvariablen MALLOC_CONF zur Laufzeit zu deaktivieren.
  • Der Laufzeitparameter disable_large_size_classes wurde hinzugefĂŒgt, um den neuen Algorithmus zur Berechnung der verfĂŒgbaren GrĂ¶ĂŸe zu aktivieren, der den Speicheraufwand bei der Zuweisung großer Speicherblöcke minimiert, d. h. mit einer GrĂ¶ĂŸe >= 4 * PAGE;
  • Die Verwendung von process_madvise wurde aktiviert und der Laufzeitparameter process_madvise_max_batch hinzugefĂŒgt, um die maximale Anzahl von Speicherbereichen in jedem madvise-"Batch" zu steuern;
  • mallctl-Schnittstellen hinzugefĂŒgt:
    • opt.prof_bt_max;
    • arena.
    • thread.tcache.max Ă€ndern und den tcache_max des aktuellen Threads abrufen;
    • thread.tcache.ncached_max.write und thread.tcache.ncached_max.read_sizeclass Ă€ndern und den ncached_max des aktuellen Threads abrufen;
    • arenas.hugepage gibt die verwendete Hugepage-GrĂ¶ĂŸe zurĂŒck, die auch in malloc stats exportiert wird;
    • approximate_stats.active liefert einen NĂ€herungswert fĂŒr die aktuelle Anzahl aktiver Bytes, der nicht mit anderen abgerufenen Statistiken verglichen werden sollte.
  • Zahlreiche Fehler wurden behoben und die Dokumentation verbessert.

Source: linux.org.ru

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz und VPS-VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster