ทั้งสองเป็นไลบรารีการทำให้เป็นอนุกรมและพัฒนาโดยนักพัฒนาของ Google มีความแตกต่างกันมากหรือไม่? การแปลงรหัสโดยใช้Protocol Buffersเป็นงานจำนวนมากเพื่อใช้FlatBuffersหรือไม่?
ทั้งสองเป็นไลบรารีการทำให้เป็นอนุกรมและพัฒนาโดยนักพัฒนาของ Google มีความแตกต่างกันมากหรือไม่? การแปลงรหัสโดยใช้Protocol Buffersเป็นงานจำนวนมากเพื่อใช้FlatBuffersหรือไม่?
คำตอบ:
ฉันได้เขียนการเปรียบเทียบโดยละเอียดของระบบการทำให้เป็นอนุกรมสองสามระบบรวมถึง Protobufs และ FlatBuffers ที่นี่:
https://kentonv.github.io/capnproto/news/2014-06-17-capnproto-flatbuffers-sbe.html
อย่างไรก็ตามการเปรียบเทียบจะเน้นไปที่การเปรียบเทียบระบบอนุกรม "ศูนย์สำเนา" ใหม่ทั้งสามระบบและรวมถึง Protobufs ส่วนใหญ่เป็นจุดอ้างอิง นอกจากนี้ฉันเป็นผู้เขียน Cap'n Proto และเป็นผู้เขียน Protobufs v2 ด้วย (ฉันรับผิดชอบการจัดหา Protobufs แบบเปิดที่ Google) ดังนั้นการเปรียบเทียบอาจมีความลำเอียง
โปรดทราบว่า Protobufs ถูกนำไปใช้ในบริการต่างๆของ Google ในขณะที่ FlatBuffers เป็นโครงการทดลองมากกว่าซึ่งตามที่ฉันเข้าใจแล้วยังไม่ได้รับการนำมาใช้อย่างกว้างขวางภายใน
Protocol Buffers
ในโครงการต่างๆ หลังจากตรวจสอบข่าวเกี่ยวกับFlatBuffers
และโครงการในGithub
ฉันพบว่ามันเป็นการทดลองตามที่คุณพูดและไม่ได้ร้อนมากฉันจึงค้นหาการเปรียบเทียบประสิทธิภาพระหว่างPB
และFB
และโพสต์คำถามนี้ด้วย ขอบคุณสำหรับการเปรียบเทียบ! มันมีความหมายมาก! และผมก็ไม่สามารถตกลงกันได้มากขึ้นด้วยส่วนในโพสต์ของคุณbenchmark
the relative performance of these libraries depends deeply on the use case