mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-10-03 05:20:50 +00:00
doc[protocol]: update document
This commit is contained in:
1 parent
6d0dc5168f
commit
9ca8dc424d
2 files changed
+6
-8
No files matched your search
@@ -45,10 +45,10 @@ cpu: i9900k
|
||||
### Ⅳ. 为什么快
|
||||
|
||||
- 使用Javassist字节码增强动态生成顺序执行的序列化和反序列化函数,顺序化的函数可以轻易的被JIT编译以达到极致的性能
|
||||
- 原生集成netty的高性能ByteBuf
|
||||
- 原生集成netty的高性能ByteBuf,支持Zero Copy
|
||||
- 使用primitive type collection,没有装箱和拆箱,避免了无效GC,性能也足够快
|
||||
- 天生线程安全并且无锁化;kryo强制要求每条线程都有自己的一个Kryo实例,这是一个比较重的设计,特别是线程比较多的场景
|
||||
- 没有反射,没有unsafe操作;对比kryo中使用objenesis导致大量unsafe,而且在Java11中运行会出现警告
|
||||
- 天生线程安全并且无锁化,多线程环境无任何性能损失
|
||||
- 没有反射,没有unsafe操作,只是GraalVM
|
||||
- 扁平化了方法栈的调用深度,数据结构嵌套没有任何性能损失,如List<Set<Map<>>>;对比kryo和protobuf数据结构嵌套会出现性能损失
|
||||
- 无漏洞注入风险,只有初始化时会进行字节码增强,后期不会再进行任何字节码的操作
|
||||
- 充分利用程序局部性原理,序列化器放在short[]数组中,对象序列化和反序列化只会查找一次序列化器
|
||||
|
||||
Reference in new issue
Block a user