From eee5123529c5f33c99c303674394d690c35a4a84 Mon Sep 17 00:00:00 2001 From: shown Date: Mon, 26 Aug 2024 22:30:16 +0800 Subject: [PATCH] docs: translates introduction docs (#172) Signed-off-by: yuluo-yx Co-authored-by: Shawn Yang --- .../current/introduction/benchmark.md | 35 +++++++++++++++++++ .../current/introduction/features.md | 21 +++++++++++ 2 files changed, 56 insertions(+) create mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/benchmark.md create mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/features.md diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/benchmark.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/benchmark.md new file mode 100644 index 00000000..5723f9e5 --- /dev/null +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/benchmark.md @@ -0,0 +1,35 @@ +--- +id: benchmark +title: Benchmark +sidebar_position: 2 +--- + +不同的序列化框架适用于不同的场景,这里的 benchmark 结果仅供参考。 + +如果你需要针对特定场景进行 benchmark 测试,请确保所有序列化框架都针对该场景进行了适当配置。 + +动态序列化框架支持多态和引用,与静态序列化框架相比,这成本更高,除非它和 Fury 一样使用 JIT 技术。由于 Fury 在运行时生成代码,因此请在收集 benchmark 统计信息之前进行系统预热。 + +### Java 序列化 + + + + + + +### Java 反序列化 + + + + + + +有关类型向前/向后兼容性、堆外支持、零拷贝序列化的更多 benchmark 测试,请参见[benchmarks](https://github.com/apache/fury/tree/main/docs/benchmarks) + +### JavaScript + + + +该条形图使用的数据包括一个具有多种字段类型的复杂对象,JSON 数据的大小为 3KB。 + +请参阅[benchmarks](https://github.com/apache/fury/blob/main/javascript/benchmark/index.js) benchmark 测试代码。 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/features.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/features.md new file mode 100644 index 00000000..f4c467b9 --- /dev/null +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/introduction/features.md @@ -0,0 +1,21 @@ +--- +id: features +title: Features +sidebar_position: 3 +--- + +- 多种语言:Java/Python/C++/Golang/Javascript/Rust。 +- 零拷贝:类似[pickle5](https://peps.python.org/pep-0574/),支持堆外读/写的跨语言序列化。 +- 高性能:高度可扩展的 JIT 框架,可在运行时以异步多线程方式生成序列化程序代码,以加快序列化速度,通过以下方式提升 20-170 倍的速度: + - 减少在生成代码中内联变量减少内存访问; + - 通过在生成的代码中内联调用来减少虚拟方法调用; + - 减少条件分支; + - 减少哈希查找; +- 二进制协议:对象图、行格式等。 + +除了跨语言序列化之外,Fury 还支持以下功能: + +- 直接替换 Java 序列化框架,如 JDK/Kryo/Hessian,无需修改任何代码,但速度提高 100 倍。它可以大大提高 RPC 调用性能、数据传输和对象持久化的效率; +- JDK 序列化 100% 兼容,原生支持 java 自定义序列化 `writeObject/readObject/writeReplace/readResolve/readObjectNoData`; +- 支持 golang 的共享和循环引用对象序列化; +- 支持 golang 的自动对象序列化。