Η βιβλιοθήκη διαχείρισης μνήμης jemalloc 5.3 έχει κυκλοφορήσει.

Κυκλοφόρησε η έκδοση 5.4.0 της βιβλιοθήκης διαχείρισης μνήμης jemalloc. Προσφέρει μια εναλλακτική υλοποίηση συναρτήσεων malloc βελτιστοποιημένη για τη μείωση του κατακερματισμού και την εκτέλεση σε συστήματα πολλαπλών επεξεργαστών. Για την αντιμετώπιση προβλημάτων κλειδώματος σε συστήματα πολλαπλών πυρήνων, το jemalloc χρησιμοποιεί τη δική του απομονωμένη περιοχή κατανομής μνήμης για κάθε πυρήνα CPU, επιτρέποντας γραμμική επεκτασιμότητα καθώς αυξάνεται ο αριθμός των νημάτων.

Τον Ιούνιο του 2025, ο δημιουργός του έργου σταμάτησε τη συντήρηση και μετέφερε το αποθετήριο jemalloc σε λειτουργία αρχειοθέτησης, αλλά τον Μάρτιο του τρέχοντος έτους, η ανάπτυξη συνεχίστηκε από την Meta, η οποία χρησιμοποιεί το jemalloc στην υποδομή της. Η βιβλιοθήκη αναπτύχθηκε αρχικά για το FreeBSD και χρησιμοποιείται από προεπιλογή σε αυτό το λειτουργικό σύστημα από το 2005. Ο κώδικας της βιβλιοθήκης είναι γραμμένος σε C και διανέμεται με την άδεια BSD.

Μεταξύ των αλλαγών:

  • Η λογική για την συμπλήρωση και την εκκαθάριση της tcache (τοπική προσωρινή μνήμη νημάτων), καθώς και την κατανομή μνήμης, έχει απλοποιηθεί.
  • Οι εκχωρητές σελίδων μνήμης Page Allocator Classic (PAC) και HPA (Huge Page Allocator) έχουν ενοποιηθεί. Ο πολύπλοκος μηχανισμός έμμεσων κλήσεων μέσω του vtable (PAI vtable) έχει αφαιρεθεί.
  • Για την απλοποίηση της συντήρησης και της επέκτασης της πλατφόρμας, όλες οι λειτουργίες που εξαρτώνται από την πλατφόρμα μετακινούνται σε ξεχωριστά αρχεία κεφαλίδας.
  • Η αποστολή εντολών mallctl έχει απλοποιηθεί και η υποδομή για τη δημιουργία και την εμφάνιση στατιστικών έχει επανασχεδιαστεί.
  • Προστέθηκε η σημαία EXTENT_ALLOC_FLAG_PINNED, η οποία επιτρέπει την επισήμανση για επαναχρησιμοποίηση κατά προτεραιότητα σε περιοχές αντιστοίχισης μνήμης χωρίς δυνατότητα προεγγραφής, όπως σελίδες HugeTLB. Προστέθηκαν νέες διεπαφές mallctl για τη λήψη στατιστικών χρήσης καρφιτσωμένης μνήμης: stats.pinned, stats.arenas..pinned
  • Συγχρονισμένο περιεχόμενο στατιστικών malloc σε μορφή αναγνώσιμη από τον άνθρωπο και JSON.
  • Αφαιρέθηκαν οι παρωχημένες παράμετροι lg_tcache_nslots_mul, tcache_nslots_small_min, tcache_nslots_small_max, tcache_nslots_large, tcache_gc_delay_bytes, lg_tcache_flush_small_div και lg_tcache_flush_large_div.

Πηγή: opennet.ru

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster