Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 14559|Jawab: 0

[Sumber] Serialisasi kryo/protobuf/protostuff Java atau perbandingan kinerja JSON

[Salin tautan]
Diposting pada 15/07/2019 21.16.23 | | |
Untuk serialisasi objek Java, saya ingin menguji perbedaan antara menggunakan JSON dan menggunakan alat serialisasi umum dalam hal kinerja temporal dan spasial.

JSON memilih untuk menggunakan fastjson.

Alat serialisasi menggunakan Protostuff dan Kyro. Mengapa tidak menggunakan protobuf? Karena saya merasa bahwa untuk kelas java dengan ratusan properti yang ada, membuat file proto pencocokan baru agak anti-manusia. Protostuff adalah versi Protobuf yang ditingkatkan, yang memungkinkan Anda untuk membuat serial Objek Java secara langsung, menggunakannya sedikit seperti Kyro, tanpa banyak proses perantara seperti Protobuf. Lainnya, seperti Hession, Java dengan serialisasi, dll., Dikatakan memiliki kinerja yang jauh lebih buruk daripada Kryo dan Protobuf, jadi saya tidak tahu apa yang diharapkan.

Setelah tes sederhana, saya menemukan bahwa celahnya cukup jelas, jadi saya merasa tidak perlu melakukan evaluasi khusus. Potong paragraf log dan kirimkan, semua orang merasakannya.

biaya waktu adalah System.nanoTime(); Ketiganya adalah konfigurasi default tanpa konfigurasi apa pun.
Jejak ruang setelah serialisasi sedikit lebih rendah daripada protostuff, dan keduanya jauh lebih tinggi daripada JSON. Ini mudah dipahami, lagipula, string json dapat dibaca, jangan terlalu memaksa.
Waktu yang dibutuhkan untuk serialisasi dan deserialisasi lebih baik daripada Kyro daripada FastJSON, dan perbedaannya cukup jelas.

Jadi kesimpulannya, jika tidak ada persyaratan ruang yang sangat menuntut, Protostuff mungkin merupakan pilihan terbaik. Protostuff memiliki keunggulan tambahan dibandingkan Kyro, yaitu, jika kelas java menambahkan bidang setelah serialisasi dan sebelum deserialisasi (yang tidak dapat dihindari dalam bisnis nyata), Kyro tidak akan berguna. Namun, protostuff dapat digunakan selama ditambahkan di akhir kelas dan menggunakan seri matahari JDK. Oleh karena itu, jika serialisasi digunakan dalam skenario seperti cache, dan objek berseri perlu disimpan untuk waktu yang lama, Anda hanya dapat memilih protostuff.

Tentu saja, jika ada kebutuhan untuk keterbacaan atau semacamnya, Anda hanya dapat menggunakan json.




Mantan:asp.net Menyesuaikan nama id sesi
Depan:Perbandingan kinerja Protobuf dan JSON di bawah platform .NET
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com