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

Melihat: 26039|Jawab: 2

[Sumber] .net/c# Xml, Json, Hessian, Perbandingan serialisasi Buffer Protokol

[Salin tautan]
Diposting pada 13/04/2018 13.23.31 | | | |
Pengantar singkat

Blog ini terutama membandingkan kinerja serialisasi dan deserialisasi Xml, Json, Hessian, dan Protocol Buffers, mengesampingkan konsep dasar Xml dan Json.
Hessian: Hessian adalah alat jarak jauh onhttp ringan yang menyediakan fungsionalitas RMI menggunakan protokol RPC biner dan kemampuan serialisasi bawaan.
Buffer Protokol: Format untuk pertukaran data dari google, yang tidak bergantung pada bahasa, dan karena ini adalah format biner, ini jauh lebih cepat daripada menggunakan xml untuk pertukaran data, dan dapat digunakan untuk komunikasi data antara aplikasi terdistribusi atau pertukaran data di lingkungan yang heterogen. Sebagai format transmisi data biner yang efisien dan kompatibel, dapat digunakan di banyak bidang seperti transmisi jaringan, file konfigurasi, penyimpanan data, dll. Google menyediakan implementasi Java, C++, Python, dan sekarang ada implementasi bahasa seperti C# di Internet.

Serialisasi dan deserialisasi

XML: Gunakan XmlSerializer yang disertakan dengan .Net.
Json: Ini menggunakan ServiceStack.Text, yang berkinerja lebih baik daripada Newtonsoft.Json, tetapi yang tercepat harus fastJSON.net.
Hessian: Menggunakan perpustakaan HessianCSharp, diunduh dari nuget.
Buffer Protokol: Menggunakan protobuf-net, diunduh dari nuget.
Berikut ini adalah entitas yang digunakan dalam pengujian.

Prosesor i7HQ 2.6HZ yang digunakan dalam mesin uji.
Berikut hasil tes
Serialisasi


deserialisasi


Panjang byte setelah serialisasi


Mari kita bicara tentang serialisasi terlebih dahulu, di sini diuji dengan masing-masing 100 kali, 1000 kali, 10000 kali dan 100000 kali, koordinatnya adalah waktu penyelesaian, satuannya adalah milidetik, Anda dapat melihat bahwa saat menguji dalam 10000 kali, konsumsi waktu 4 jenis serialisasi sangat kecil, semuanya dalam 200 milidetik, setelah 10000 kali, hingga 100000 kali, semuanya mulai tumbuh, yang terburuk adalah Xml, yang terbaik adalah Buffer Protokol, tetapi ketika dalam 10000 kali, Hessian lebih baik daripada Buffer Protokol.
Tidak banyak perbedaan dalam 10.000 deserialisasi, tetapi pada 10.000 kali, kita sudah dapat melihat bahwa Hessian lebih memakan waktu, dan pada 100.000 kali, Hessian langsung melebihi Xml, yang membuat saya selalu berpikir bahwa ada masalah dengan kode saya, dan kinerja terbaik masih Buffer Protokol.
Panjang byte berseri dapat dimengerti yang terpanjang di Xml, karena file berisi banyak tag akhir (),</Name> dan Buffer Protokol masih yang terbaik.

Berdasarkan grafik di atas, kita hampir dapat dengan cepat menyimpulkan bahwa Buffer Protokol adalah yang terbaik, tetapi saya pikir kita masih perlu mengevaluasinya secara komprehensif dari aspek-aspek berikut:
1. Keterbacaan: Xml dan Json sama-sama teks setelah serialisasi, dan keterbacaannya sangat bagus, misalnya, jika ada kesalahan di tengah, kita dapat dengan mudah melihat data yang dipertukarkan, dan bahkan mensimulasikan data untuk diuji; Baik Hessian dan Protocol Buffer bersifat biner, dan kontennya tidak dapat dibaca setelah serialisasi, yang akan berdampak tertentu pada pemecahan masalah sistem.
2. Keserbagunaan: XML dan JSON sudah menjadi format pertukaran data lama, dan ini adalah dua format untuk pertukaran data antar sistem umum. Baik Hessian dan Protocol Buffer relatif tidak populer dan lebih sedikit digunakan.
3. Kenyamanan: Hessian sebenarnya adalah kerangka kerja RPC yang lengkap, tentukan antarmuka di sisi server dan implementasikan antarmuka, salin antarmuka ke klien Setelah sedikit pengkodean, kita dapat memanggil sisi server seperti memanggil metode lokal, yang tidak tersedia di tiga alat lainnya, dan kinerjanya tidak buruk.





Mantan:Windows menginstal program layanan .net/c#
Depan:Solusi StreamReader untuk karakter kacau saat membaca file
 Tuan tanah| Diposting pada 31/08/2023 20.57.23 |
Tolok ukur performa MessagePack dan protobuf-net
https://www.itsvse.com/thread-10655-1-1.html
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