Komit yang menarik berhasil masuk ke server database PostgreSQL open-source pagi ini.
Postgres` David Rowley melakukan perubahan yang cukup signifikan untuk meningkatkan kinerja dan mengurangi overhead manajemen memori untuk server database ini. Perubahan tersebut mengurangi ukuran ukuran header chunk dari 16 menjadi 8 byte dan pada gilirannya pekerjaan ini akan menghasilkan penggunaan memori yang jauh lebih efisien.
Perubahan yang dibuat di sini mengurangi ukuran header chunk menjadi hanya 8 byte untuk ketiga tipe konteks memori kita. Untuk alokasi berukuran kecil hingga menengah, ini secara signifikan meningkatkan jumlah potongan yang dapat kita muat pada blok tertentu yang menghasilkan penggunaan memori yang jauh lebih efisien.
Selain itu, komit ini sepenuhnya mengubah aturan bahwa pointer ke memori palloc`d harus langsung diawali oleh pointer ke konteks memori yang memiliki dan sebagai gantinya, kami sekarang bersikeras bahwa mereka langsung diawali dengan nilai 8-byte di mana nilai paling tidak signifikan 3 -bit disetel ke nilai untuk menunjukkan jenis konteks memori mana yang dimiliki pointer. Menggunakan 3 bit tersebut sebagai indeks (dikenal sebagai MemoryContextMethodID) ke array baru yang menyimpan metode untuk setiap jenis konteks memori, sekarang kita dapat meneruskan pointer yang diberikan ke fungsi seperti pfree() dan repalloc() ke fungsi khusus untuk implementasi konteks itu untuk memungkinkan mereka merancang metode mereka sendiri untuk menemukan konteks memori yang memiliki potongan memori yang dialokasikan.
...Rincian lebih lanjut tentang pengoptimalan kinerja PostgreSQL seputar overhead memori dapat ditemukan melalui komit ini.
Diskusi sebelumnya tentang pengurangan overhead memori PostgreSQL melihat Rowley menikmati peningkatan kinerja 17% dalam throughput untuk beban kerja sederhana hanya-baca di workstation Ryzen Threadripper.
Pasti akan menarik untuk melihat bagaimana pengurangan overhead memori ini membantu di dunia nyata ketika debutnya dalam rilis PostgreSQL yang stabil. Tetapi dengan PostgreSQL 15 sudah bercabang menjelang rilisnya akhir tahun ini, perubahan ini tidak diharapkan sampai PostgreSQL 16.
Itulah berita seputar PostgreSQL Mengoptimalkan Kinerja & Menurunkan Overhead Manajemen Memori, semoga bermanfaat. Disadur dari Phoronix.com.