glibc 2.26 beschleunigt die Speicherverwaltung

Dank des neuen Per-Thread Cache für malloc erfordert der Zugriff auf den Speicherpuffer keine Locks mehr. Außerdem bringt die GNU C Library in der aktuellen Version Support für Unicode 10.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
glibc 2.27 beschleunigt die Speicherverwaltung über malloc
Lesezeit: 1 Min.
Von
  • Rainald Menge-Sonnentag

Die GNU C Library ist im turnusmäßigen Halbjahres-Update in der Version 2.26 erschienen. Diesmal gibt es weniger spektakuläre Änderungen als mit den im Februar bei glibc 2.25 eingeführten Wrappern für die Linux-Funktionen getrandom() und getentropy(), die vor allem wegen des langen Prozesses vom ersten Issue bis zur Implementierung und der Diskussion über Wrapper für Linux-spezifische Aufrufe für Aufsehen sorgten.

Die vermutlich wichtigste Neuerung in glibc 2.26 ist der Per-Thread-Cache für malloc(). Damit sind beim Zugriff auf den Pufferspeicher keine Locks mehr erforderlich. Das soll besonders Programmen zugutekommen, die häufig kleine Speicherbereiche allozieren und wieder freigeben. Die Ankündigung spricht davon, dass Performancemessungen signifikanten Zuwachs für vielfältige Workloads zeigen. Eine Mail vom Januar führt einige Benchmarks im Detail auf.

Neben den üblichen Bugfixes bringt die GNU C Library zahlreiche weitere kleinere Erweiterungen mit, darunter Support für Unicode 10. Die Math Library kennt nun _Float128 beziehungsweise __float128 für Floating-Point-Werte mit 128 bit. Auch gibt es neue Wrapper für die Linux-Systemaufrufe preadv2() und pwritev2().

Die vollständige Liste der Neuerungen lässt sich der offiziellen Ankündigung auf der GNU-Mailing-Liste entnehmen. Die glibc 2.26 ist über die GNU-FTP-Mirror zum Herunterladen verfügbar und steht unter der GNU Lesser General Public License (LGPL). (rme)