Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ruedigermoeller/fast-serialization
FST: fast java serialization drop in-replacement
https://github.com/ruedigermoeller/fast-serialization
faster java json offheap serialization
Last synced: 30 days ago
JSON representation
FST: fast java serialization drop in-replacement
- Host: GitHub
- URL: https://github.com/ruedigermoeller/fast-serialization
- Owner: RuedigerMoeller
- License: apache-2.0
- Created: 2013-12-05T20:36:00.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2023-06-30T08:15:18.000Z (over 1 year ago)
- Last Synced: 2024-09-30T10:41:42.378Z (about 1 month ago)
- Topics: faster, java, json, offheap, serialization
- Language: Java
- Homepage:
- Size: 5.12 MB
- Stars: 1,582
- Watchers: 102
- Forks: 248
- Open Issues: 120
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
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:
[Fast JDK-compatible Serialization](https://github.com/RuedigerMoeller/fast-serialization/wiki/Serialization)
[Json Serialization](https://github.com/RuedigerMoeller/fast-serialization/wiki/JSON-serialization)
[OffHeap + Persistent Maps](https://github.com/RuedigerMoeller/fast-serialization/wiki/Off-Heap-Maps,-Persistent-Maps)
[MinBin cross platform binary format](https://github.com/RuedigerMoeller/fast-serialization/wiki/MinBin)
[Kson: a JSon extension](https://github.com/RuedigerMoeller/fast-serialization/wiki/KSon)
### 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)
```.xml
de.ruedigermoeller
fst
3.0.1```
**2.0 version** (java 8)
```.xmlde.ruedigermoeller
fst
2.56```
**jdk1.6** compatible build of fst 2.x```.xml
de.ruedigermoeller
fst
2.48-jdk-6```
1.x version (different package name, 1.6 compatible ..). Fixes are not backported anymore, unsupported.
```.xmlde.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](http://www.eurexchange.com/exchange-en/)'s trading back end's middleware
* [JUptr.io](http://www.juptr.io/)'s distributed system / NLP engine uses FST
* Popular Apache Wicket supplementals use FST to speed up Wicket![alt tag](https://raw.githubusercontent.com/RuedigerMoeller/fast-serialization/master/fst.png)
### 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