Python 3.6 : Kamus Mengekalkan Susunan Sisipan
Sehingga Python 3.6, kamus dalam pelaksanaan CPython mempamerkan susunan sisipan, penyimpangan yang ketara daripada versi sebelumnya . Ciri ini kini merupakan ciri bahasa terjamin dalam Python 3.7.
Penggunaan dan Prestasi Memori yang Dipertingkat
Pelaksanaan kamus baharu dengan ketara mengurangkan penggunaan memori sebanyak 20-25% berbanding dengan Python 3.5. Penambahbaikan ini berpunca daripada penggunaan pelaksanaan tatasusunan berasingan:
Sebelum ini, tatasusunan jarang jenis PyDictKeyEntry terpaksa diperuntukkan, mengakibatkan ruang terbuang disebabkan pertimbangan prestasi. Pendekatan baharu hanya memperuntukkan entri yang diperlukan dan menggunakan tatasusunan jarang jenis intX_t, yang menggunakan kurang memori.
Struktur Data Digunakan
Pada asalnya, kamus disimpan sebagai [ keyhash, kunci, nilai] dalam tatasusunan jarang dengan entri kosong dilambangkan dengan '--'. Pendekatan baharu menyusun data sebagai:
penyertaan: [[-9092791511155847987, 'timmy', 'red'],
[-8522787127447073495, 'barry', 'green'], [-6480567542315338377, 'guido', 'blue']]
Struktur yang disemak ini mengurangkan overhed memori dengan ketara.
Faedah Susunan Sisipan
Sementara pelaksanaan kamus baharu tertumpu terutamanya pada pengoptimuman ingatan, ciri susunan sisipan mempunyai aplikasi yang mudah:
Adalah penting untuk ambil perhatian bahawa pesanan sisipan tidak dijamin merentas pelaksanaan Python yang berbeza atau versi bahasa masa hadapan. Walau bagaimanapun, dalam Python 3.7 dan seterusnya, ia adalah ciri terjamin yang boleh anda harapkan.
Atas ialah kandungan terperinci Bagaimanakah Pelaksanaan Kamus Python 3.6 Meningkatkan Penggunaan Memori dan Mengekalkan Tertib Sisipan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!