fury - framework de sérialisation multilangage extrêmement rapide
(github.com/alipay)- Offre de hautes performances et une utilisation simple grâce au JIT et au Zero-Copy
- Prend en charge Java/Python/C++/Golang/Javascript
- Peut remplacer directement des frameworks de sérialisation Java comme JDK/Kryo/Hessian sans modification du code. Les performances sont jusqu’à 100 fois supérieures
- Prend en charge la sérialisation d’objets à références partagées/circulaires en Golang ainsi que la sérialisation automatique d’objets
- Améliore les performances de 20 à 170 fois grâce à une approche asynchrone multithread reposant sur un framework JIT extensible
- Réduit les accès mémoire via des variables inline dans le code généré
- Réduit les appels de méthodes virtuelles via des appels inline dans le code généré
- Réduit les branchements conditionnels
- Réduit aussi les recherches de hachage
- Plusieurs protocoles binaires : graphes d’objets cross-language, graphes d’objets Java/Python natifs, protocole au format Row, etc.
2 commentaires
J’ai effectué un simple test de performance.
Encodage et décodage d’objets métier 1000000 fois
JDK : 55123 ms
fstCodec : 2500 ms ( https://github.com/RuedigerMoeller/fast-serialization )
fury : 957 ms
Le nom est amusant, haha.