Bagaimana JSON.NET mengoptimumkan prestasi pengoptimuman maklumat melalui urutan cache?
json.net menggunakan teknologi moden seperti pokok ekspresi atau pelancaran IL untuk memproses objek serasi dengan cekap untuk mengelakkan kesesakan prestasi yang dibawa oleh refleksi. Walau bagaimanapun, ia adalah masa untuk membina dan melancarkan IL semasa runtime. mekanisme cache
Apabila menggunakan json.net,
atau cache kelas maklumat bersiri. Kecuali parser kontrak tersuai ditentukan, kelas -kelas ini digunakan sebagai parser kontrak secara lalai.
Mengekalkan contoh statik global, dan menggunakan jadual statik yang dikongsi oleh Cross -instance. Kedua -dua jenis ini adalah benang yang selamat untuk memastikan bahawa silang -threading boleh dipercayai dan dikongsi. DefaultContractResolver
CamelCasePropertyNamesContractResolver
parser kontrak adat
DefaultContractResolver
Apabila melaksanakan dan menafikan parser kontrak, maklumat jenis itu di -cache dan digunakan semula hanya apabila contoh parser kontrak itu sendiri cache dan digunakan semula. Untuk mengoptimumkan prestasi, adalah disyorkan untuk membuat parser kontrak dan menggunakan semula contoh. CamelCasePropertyNamesContractResolver
Walaupun cache meningkatkan prestasi, ia juga meningkatkan penggunaan memori. Sekiranya memori adalah masalah, anda boleh menggunakan objek bersiri dengan membuat contoh tempatan
, dan kemudian segera memadam semua petikannya untuk meminimumkan penggunaan memori kekal kontrak cache.ringkasan
json.net menggunakan
atau sebagai parser kontrak, dan maklumat bersiri cache yang cekap digunakan untuk meningkatkan prestasi. Walaupun cache meningkatkan prestasi, apabila mereka bentuk parser kontrak tersuai, ia mesti mempertimbangkan penggunaan memori. DefaultContractResolver
Atas ialah kandungan terperinci Bagaimanakah maklumat Serialization Cache JSON.NET untuk mengoptimumkan prestasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!