Apache Fury (incubating) is a multi-language serialization framework powered by JIT dynamic compilation and zero copy. It implements multi-language SDKs: Java, Python, Golang, JavaScript, Rust, C++. It provides automatic multi-language objects serialization features, and 170x speedup compared to JDK serialization.
20 篇博文 含有标签「fury」
查看所有标签Fury 0.4.1 Released
This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.
I'm pleased to announce the 0.4.1 release of the Fury: https://github.com/alipay/fury/releases/tag/v0.4.1. With this release, Fury support rust row format now. C++ row format has been enhanced too, now iterable types can be encoded to fury row format. Please try it out and share your feedbacks with us.
Author: chaokunyang
I'm pleased to announce the 0.4.1 release of the Fury: https://github.com/alipay/fury/releases/tag/v0.4.1. With this release, Fury support rust row format now. C++ row format has been enhanced too, now iterable types can be encoded to fury row format too.
Highlight
- [Rust] Support row format
- [C++] Support iterable types for RowEncoder
- [JavaScript] Support partial record
- [Java] Fix JIT error in corner case, now Fury can generate serializer for every class
What's Changed
- [Doc] Refine issue template by a yaml form by @chaokunyang in https://github.com/alipay/fury/pull/1185
- [C++] Fix ownership problem for children writers by visitor by @PragmaTwice in https://github.com/alipay/fury/pull/1193
- [C++] Remove useless fields and macro in logging by @PragmaTwice in https://github.com/alipay/fury/pull/1195
- [Doc] add docs for java FuryBuilder #1188 by @mof-dev-3 in https://github.com/alipay/fury/pull/1192
- [Rust] support row format by @wangweipeng2 in https://github.com/alipay/fury/pull/1196
- [C++] Add RowEncoder wrapper to RowEncodeTrait by @PragmaTwice in https://github.com/alipay/fury/pull/1200
- [Rust] Row support more types by @wangweipeng2 in https://github.com/alipay/fury/pull/1202
- [Rust] Support row map by @wangweipeng2 in https://github.com/alipay/fury/pull/1206
- [C++] update bazel version from 4.2 to 6.3.2 by @chaokunyang in https://github.com/alipay/fury/pull/1204
- [JavaScript] Support partial record by @wangweipeng2 in https://github.com/alipay/fury/pull/1208
- [Java] fix package access level class accessor jit by @chaokunyang in https://github.com/alipay/fury/pull/1210
- [JavaScript] Fix register a description twice will get undefined serializer by @bytemain in https://github.com/alipay/fury/pull/1211
- [C++] Support iterable types in RowEncodeTrait by @PragmaTwice in https://github.com/alipay/fury/pull/1212
- [C++] Support iterable types for RowEncoder by @PragmaTwice in https://github.com/alipay/fury/pull/1215
- [Python] Refine py register class method by @chaokunyang in https://github.com/alipay/fury/pull/1218
- [Java] Clear extRegistry.getClassCtx if generate serializer class failed in https://github.com/alipay/fury/pull/1221
New Contributors
- @bytemain made their first contribution in https://github.com/alipay/fury/pull/1211
Full Changelog: https://github.com/alipay/fury/compare/v0.4.0...v0.4.1
Fury 0.4.0 Released
This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.
I'm pleased to announce the 0.4.0 release of the Fury. With this release, GraalVM native image and C++ row format automatic encoder based on compile-time reflection are supported. Please try it out and share your feedbacks with us.
Author: chaokunyang
I'm pleased to announce the 0.4.0 release of the Fury. With this release, GraalVM native image and C++ row format automatic encoder based on compile-time reflection are supported. Please try it out and share your feedbacks with us.
Highlight
- [Java] Support Graalvm native image. The implementation will generate all serialization code at image build time, the runtime will be extremely fast, see fury graalvm usage doc
- [Java] Fury vs JDK benchmark on Graalvm native image
- [Scala] Serialization support for package scoped object
- [C++] Reflection support by macro/template programing
- [C++] Automatic row format encoder
What's Changed
- [Python] fix python release by @chaokunyang in https://github.com/alipay/fury/pull/1125
- [Java] make unsafe offset compatible with graalvm by @chaokunyang in https://github.com/alipay/fury/pull/1117
- [Scala] Fix scala package object JIT error by @chaokunyang in https://github.com/alipay/fury/pull/1130
- [Java] Refine maven pom config by @chaokunyang in https://github.com/alipay/fury/pull/1126
- [Rust] add rust building by @caicancai in https://github.com/alipay/fury/pull/1129
- [C++] Remove useless overload of Writer::WriteString by @PragmaTwice in https://github.com/alipay/fury/pull/1136
- [Rust] fix typo by @caicancai in https://github.com/alipay/fury/pull/1133
- [Rust] add mesaage about rust ci by @caicancai in https://github.com/alipay/fury/pull/1131
- [C++] Add move ctor/assign op to Status by @PragmaTwice in https://github.com/alipay/fury/pull/1134
- [Rust] fix cargo test error by @wangweipeng2 in https://github.com/alipay/fury/pull/1135
- [Rust] improve rust ci by @caicancai in https://github.com/alipay/fury/pull/1138
- [Scala] Fix scala collection serialization nested in pojo by @chaokunyang in https://github.com/alipay/fury/pull/1140
- [Java] make sting builder serializer codegen eager by @chaokunyang in https://github.com/alipay/fury/pull/1141
- [Rust] fix rust ci bug by @caicancai in https://github.com/alipay/fury/pull/1139
- [Java] support add static fields in fury codegen by @chaokunyang in https://github.com/alipay/fury/pull/1147
- [C++] Add the basic row format serializer for C++ class types via reflection by @PragmaTwice in https://github.com/alipay/fury/pull/1144
- [C++] Add duplicated fields detection in
FURY_FIELD_INFO
macro by @PragmaTwice in https://github.com/alipay/fury/pull/1151 - [Java] support create serializer when register class by @chaokunyang in https://github.com/alipay/fury/pull/1154
- [Java] Support graalvm native image by @chaokunyang in https://github.com/alipay/fury/pull/1143
- [C++] Support string type in RowEncoder by @PragmaTwice in https://github.com/alipay/fury/pull/1158
- [Scala] add graalvm support for scala singleton by @chaokunyang in https://github.com/alipay/fury/pull/1159
- [Scala] Fix scala singleton map/collection serialization in struct by @chaokunyang in https://github.com/alipay/fury/pull/1160
- [Java] add read resolve circular test suite by @chaokunyang in https://github.com/alipay/fury/pull/1161
- [Java] Remove load arrow serializers by default by @chaokunyang in https://github.com/alipay/fury/pull/1163
- [Java] Support thread safe fury for graalvm native image by @chaokunyang in https://github.com/alipay/fury/pull/1164
- [Scala] Fix package object serialization in scala App by @chaokunyang in https://github.com/alipay/fury/pull/1166
- [Java] add graalvm usage doc by @chaokunyang in https://github.com/alipay/fury/pull/1168
- [C++] Split util.h to bit_util.h and time_util.h by @PragmaTwice in https://github.com/alipay/fury/pull/1171
- [C++] Support cv-qualified types in row encoder by @PragmaTwice in https://github.com/alipay/fury/pull/1172
- [C++] Add support for nested class types in row encoder by @PragmaTwice in https://github.com/alipay/fury/pull/1173
- [Java] Add graalvm benchmark by @chaokunyang in https://github.com/alipay/fury/pull/1178
- [Java] Fix string key serializer ref tracking by @chaokunyang in https://github.com/alipay/fury/pull/1174
- [Java] Add graalvm benchmark test results by @chaokunyang in https://github.com/alipay/fury/pull/1180
- [Scala] fix package object inaccessible from source code by @chaokunyang in https://github.com/alipay/fury/pull/1181
Full Changelog: https://github.com/alipay/fury/compare/v0.3.1...v0.4.0
Fury v0.3.1 released
This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.
I'm pleased to announce the 0.3.1 release of the Fury. With this release, fury supports python 3.11&3.12, droped python 3.6 support. Multiple scala serialization JIT optimization are included, and java serialization compatibility is improved too.
Author: chaokunyang
I'm pleased to announce the 0.3.1 release of the Fury. With this release, fury supports python 3.11&3.12, droped python 3.6 support. Multiple scala serialization JIT optimization are included, and java serialization compatibility is improved too.