fast-serialization
up to 10 times faster 100% JDK Serialization compatible drop-in replacement (Ok, might be 99% ..). As an example: Lambda Serialization which came with 1.8 worked instantly.
Android compatible since version >= 2.17 (use FSTConfiguration.createAndroidDefaultConfiguration() both on server and client side. The configuration object has to be passed into FSTObjectIn/Output constructors)
OffHeap Maps, Persistent OffHeap maps
FSTStructs is very similar to IBM's packed objects. Difference is: You can run it with Oracle JDK today.
optionally en/decode any Serializable object graph to JSON (incl. shared references) (since 2.29) for interop
Apache 2.0 license since 2.17
Docs:
mvn
note: maven.org might lag 1 day behind after releasing.
3.0.0 version (requires java 14, "--add-modules jdk.incubator.foreign" option on compiler and runtime)
de.ruedigermoeller
fst
3.0.1
2.0 version (java 8)
de.ruedigermoeller
fst
2.56
jdk1.6 compatible build of fst 2.x
de.ruedigermoeller
fst
2.48-jdk-6
1.x version (different package name, 1.6 compatible ..). Fixes are not backported anymore, unsupported.
de.ruedigermoeller
fst
1.63
Who uses FST ?
I am not actively tracking use, maven.org reports more than 14000 downloads from 6000 distinct IP accesses triggered by maven builds world wide per month.
Notable also:
used in production in Eurex Exchange's trading back end's middleware
JUptr.io's distributed system / NLP engine uses FST
Popular Apache Wicket supplementals use FST to speed up Wicket
how to build
master contains dev branch/trunk.
1.x contains old version
The maven build should work out of the box and reproduces the artifact hosted on maven.org
To use the gradle build, you need to configure the proxy server in settings.properties (or just set empty if you do not sit behind a proxy).
Note that instrumentation done for fst-structs works only if debug info is turned on during compile. Reason is that generating methods at runtime with javassist fails (probably a javassist bug ..). This does not affect the serialization implementation.
JDK 1.6 Build 1.x build since v1.62 are still jdk 6 compatible