fury - เฟรมเวิร์ก Serialization หลายภาษาที่เร็วมาก
(github.com/alipay)- มอบความเร็วสูงและใช้งานง่ายด้วย JIT และ Zero-Copy
- รองรับ Java/Python/C++/Golang/Javascript
- สามารถใช้แทนเฟรมเวิร์ก serialization ของ Java เช่น JDK/Kryo/Hessian ได้ทันทีโดยไม่ต้องแก้โค้ด ความเร็วมากกว่าเดิม 100 เท่า
- รองรับการ serialization ของอ็อบเจ็กต์อ้างอิงร่วม/อ้างอิงวนซ้ำใน Golang และรองรับการ serialization อัตโนมัติของอ็อบเจ็กต์
- ปรับปรุงประสิทธิภาพได้ 20~170 เท่าด้วยเฟรมเวิร์ก JIT ที่ขยายได้และการทำงานแบบ asynchronous multi-thread
- ลดการเข้าถึงหน่วยความจำด้วยตัวแปร inline ในโค้ดที่สร้างขึ้น
- ลดการเรียก virtual method ผ่านการเรียก inline ในโค้ดที่สร้างขึ้น
- ลด conditional branching
- ลด hash lookup ด้วย
- โปรโตคอลไบนารีหลายแบบ: cross-language object graph, native Java/Python object graph, โปรโตคอลรูปแบบ Row เป็นต้น
2 ความคิดเห็น
ผมได้ลองทดสอบประสิทธิภาพแบบง่าย ๆ ดูแล้ว
เข้ารหัสและถอดรหัสอ็อบเจ็กต์ทางธุรกิจ 1000000 ครั้ง
JDK: 55123ms
fstCodec: 2500ms ( https://github.com/RuedigerMoeller/fast-serialization )
fury: 957ms
ชื่อน่าสนุกดีนะ 555.