bThink-BGU / BPjs

Environment for running behavioral programs written in JavaScript.
MIT License
37 stars 8 forks source link

Replace Java Serialization with modern solutions #220

Open achiyae opened 1 year ago

achiyae commented 1 year ago

Java serialization is very slow. There are newer solutions, like MicroStream and Kryo. Here is an old comparison (though the code for generating the statistics is available so we can probably check it again). Interestingly, MicroStream is a bit slower than Kryo, though it has a significantly smaller footprint on the heap. The article's recommendation is "Note that all the metrics depend a lot on the actual data, so if you want to find the best data format for your use case, clone the GitHub project and run the benchmark with your own data model."

achiyae commented 1 year ago

Graph-based serialization (such as MicroStream) might make #26 irrelevant.