{"id":15025260,"url":"https://github.com/ruedigermoeller/fast-serialization","last_synced_at":"2025-05-14T00:11:11.283Z","repository":{"id":12327285,"uuid":"14965048","full_name":"RuedigerMoeller/fast-serialization","owner":"RuedigerMoeller","description":"FST: fast java serialization drop in-replacement ","archived":false,"fork":false,"pushed_at":"2023-06-30T08:15:18.000Z","size":5364,"stargazers_count":1593,"open_issues_count":122,"forks_count":243,"subscribers_count":100,"default_branch":"master","last_synced_at":"2025-04-10T12:41:39.385Z","etag":null,"topics":["faster","java","json","offheap","serialization"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RuedigerMoeller.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2013-12-05T20:36:00.000Z","updated_at":"2025-04-05T01:32:34.000Z","dependencies_parsed_at":"2023-01-13T16:53:55.489Z","dependency_job_id":"3ab79958-8299-48ca-8f12-4a17263fbc72","html_url":"https://github.com/RuedigerMoeller/fast-serialization","commit_stats":null,"previous_names":[],"tags_count":69,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RuedigerMoeller%2Ffast-serialization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RuedigerMoeller%2Ffast-serialization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RuedigerMoeller%2Ffast-serialization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RuedigerMoeller%2Ffast-serialization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RuedigerMoeller","download_url":"https://codeload.github.com/RuedigerMoeller/fast-serialization/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254044395,"owners_count":22005153,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["faster","java","json","offheap","serialization"],"created_at":"2024-09-24T20:01:54.956Z","updated_at":"2025-05-14T00:11:06.276Z","avatar_url":"https://github.com/RuedigerMoeller.png","language":"Java","readme":"fast-serialization\n==================\n\n* 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.\n* Android compatible since version \u003e= 2.17 (use ```FSTConfiguration.createAndroidDefaultConfiguration()``` both on server and client side. The configuration object has to be passed into FSTObjectIn/Output constructors)\n* OffHeap Maps, Persistent OffHeap maps\n* FSTStructs is very similar to IBM's packed objects. Difference is: You can run it with Oracle JDK today.\n* optionally en/decode any Serializable object graph to JSON (incl. shared references) (since 2.29) for interop\n* Apache 2.0 license since 2.17\n\n### Docs:\n\n[Fast JDK-compatible Serialization](https://github.com/RuedigerMoeller/fast-serialization/wiki/Serialization)\n\n[Json Serialization](https://github.com/RuedigerMoeller/fast-serialization/wiki/JSON-serialization)\n\n[OffHeap + Persistent Maps](https://github.com/RuedigerMoeller/fast-serialization/wiki/Off-Heap-Maps,-Persistent-Maps)\n\n[MinBin cross platform binary format](https://github.com/RuedigerMoeller/fast-serialization/wiki/MinBin)\n\n[Kson: a JSon extension](https://github.com/RuedigerMoeller/fast-serialization/wiki/KSon)\n\n### mvn\n\n**note:** maven.org might lag 1 day behind after releasing.\n\n**3.0.0 version** (requires **java 14**, \"--add-modules jdk.incubator.foreign\" option on compiler and runtime)\n\n```.xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ede.ruedigermoeller\u003c/groupId\u003e\n    \u003cartifactId\u003efst\u003c/artifactId\u003e\n    \u003cversion\u003e3.0.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n**2.0 version** (java 8)\n```.xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ede.ruedigermoeller\u003c/groupId\u003e\n    \u003cartifactId\u003efst\u003c/artifactId\u003e\n    \u003cversion\u003e2.56\u003c/version\u003e\n\u003c/dependency\u003e\n```\n**jdk1.6** compatible build of fst 2.x \n\n```.xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ede.ruedigermoeller\u003c/groupId\u003e\n    \u003cartifactId\u003efst\u003c/artifactId\u003e\n    \u003cversion\u003e2.48-jdk-6\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n1.x version (different package name, 1.6 compatible ..). Fixes are not backported anymore, unsupported.\n```.xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ede.ruedigermoeller\u003c/groupId\u003e\n    \u003cartifactId\u003efst\u003c/artifactId\u003e\n    \u003cversion\u003e1.63\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Who uses FST ?\n\nI 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.\n\nNotable also:\n\n* used in production in [Eurex Exchange](http://www.eurexchange.com/exchange-en/)'s trading back end's middleware\n* [JUptr.io](http://www.juptr.io/)'s distributed system / NLP engine uses FST\n* Popular Apache Wicket supplementals use FST to speed up Wicket\n\n![alt tag](https://raw.githubusercontent.com/RuedigerMoeller/fast-serialization/master/fst.png)\n\n### how to build \n\n* master contains dev branch/trunk.\n* 1.x contains old version\n* The maven build should work out of the box and reproduces the artifact hosted on maven.org\n* 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).\n\n\u003cb\u003eNote\u003c/b\u003e 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 ..). \n\u003cb\u003eThis does not affect the serialization implementation. \u003c/b\u003e\n\n\u003cb\u003eJDK 1.6 Build\u003c/b\u003e\n1.x build since v1.62 are still jdk 6 compatible\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruedigermoeller%2Ffast-serialization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruedigermoeller%2Ffast-serialization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruedigermoeller%2Ffast-serialization/lists"}