This is an automated email from the ASF dual-hosted git repository.

chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-fury-site.git

commit a9b0de3b3e0b5ac4195124a87abd6b78bca5c32b
Author: chaokunyang <shawn.ck.y...@gmail.com>
AuthorDate: Wed Dec 27 08:41:03 2023 +0000

    🔄 created local 'public/benchmarks/' from remote 'docs/benchmarks/'
---
 public/benchmarks/README.md                        | 540 +++++++++++++++++++++
 ...ize_compatible_MEDIA_CONTENT_from_array_tps.png | Bin 0 -> 27750 bytes
 ...ize_compatible_STRUCT_from_directBuffer_tps.png | Bin 0 -> 28617 bytes
 ...alize_compatible_MEDIA_CONTENT_to_array_tps.png | Bin 0 -> 29911 bytes
 ...alize_compatible_STRUCT_to_directBuffer_tps.png | Bin 0 -> 29924 bytes
 .../benchmarks/data/jmh-jdk-11-deserialization.csv | 153 ++++++
 .../benchmarks/data/jmh-jdk-11-serialization.csv   | 153 ++++++
 public/benchmarks/data/jmh-jdk-11-zerocopy.csv     |  73 +++
 ...ch_deserialize_MEDIA_CONTENT_from_array_tps.png | Bin 0 -> 32975 bytes
 ...rialize_MEDIA_CONTENT_from_directBuffer_tps.png | Bin 0 -> 33951 bytes
 .../bench_deserialize_SAMPLE_from_array_tps.png    | Bin 0 -> 32335 bytes
 ...ch_deserialize_SAMPLE_from_directBuffer_tps.png | Bin 0 -> 31109 bytes
 .../bench_deserialize_STRUCT2_from_array_tps.png   | Bin 0 -> 30277 bytes
 ...h_deserialize_STRUCT2_from_directBuffer_tps.png | Bin 0 -> 31385 bytes
 .../bench_deserialize_STRUCT_from_array_tps.png    | Bin 0 -> 30367 bytes
 ...ch_deserialize_STRUCT_from_directBuffer_tps.png | Bin 0 -> 31570 bytes
 ...ize_compatible_MEDIA_CONTENT_from_array_tps.png | Bin 0 -> 31586 bytes
 ...patible_MEDIA_CONTENT_from_directBuffer_tps.png | Bin 0 -> 33758 bytes
 ...eserialize_compatible_SAMPLE_from_array_tps.png | Bin 0 -> 32212 bytes
 ...ize_compatible_SAMPLE_from_directBuffer_tps.png | Bin 0 -> 31989 bytes
 ...serialize_compatible_STRUCT2_from_array_tps.png | Bin 0 -> 31674 bytes
 ...ze_compatible_STRUCT2_from_directBuffer_tps.png | Bin 0 -> 31586 bytes
 ...eserialize_compatible_STRUCT_from_array_tps.png | Bin 0 -> 31905 bytes
 ...ize_compatible_STRUCT_from_directBuffer_tps.png | Bin 0 -> 32844 bytes
 .../bench_serialize_MEDIA_CONTENT_to_array_tps.png | Bin 0 -> 32927 bytes
 ...serialize_MEDIA_CONTENT_to_directBuffer_tps.png | Bin 0 -> 33090 bytes
 .../bench_serialize_SAMPLE_to_array_tps.png        | Bin 0 -> 32010 bytes
 .../bench_serialize_SAMPLE_to_directBuffer_tps.png | Bin 0 -> 33674 bytes
 .../bench_serialize_STRUCT2_to_array_tps.png       | Bin 0 -> 31871 bytes
 ...bench_serialize_STRUCT2_to_directBuffer_tps.png | Bin 0 -> 31247 bytes
 .../bench_serialize_STRUCT_to_array_tps.png        | Bin 0 -> 32636 bytes
 .../bench_serialize_STRUCT_to_directBuffer_tps.png | Bin 0 -> 31869 bytes
 ...alize_compatible_MEDIA_CONTENT_to_array_tps.png | Bin 0 -> 34028 bytes
 ...ompatible_MEDIA_CONTENT_to_directBuffer_tps.png | Bin 0 -> 33159 bytes
 ...ch_serialize_compatible_SAMPLE_to_array_tps.png | Bin 0 -> 32188 bytes
 ...alize_compatible_SAMPLE_to_directBuffer_tps.png | Bin 0 -> 33942 bytes
 ...h_serialize_compatible_STRUCT2_to_array_tps.png | Bin 0 -> 33353 bytes
 ...lize_compatible_STRUCT2_to_directBuffer_tps.png | Bin 0 -> 32464 bytes
 ...ch_serialize_compatible_STRUCT_to_array_tps.png | Bin 0 -> 32250 bytes
 ...alize_compatible_STRUCT_to_directBuffer_tps.png | Bin 0 -> 34400 bytes
 ...opy_bench_deserialize_BUFFER_from_array_tps.png | Bin 0 -> 27133 bytes
 ...ch_deserialize_BUFFER_from_directBuffer_tps.png | Bin 0 -> 28544 bytes
 ..._deserialize_PRIMITIVE_ARRAY_from_array_tps.png | Bin 0 -> 26501 bytes
 ...alize_PRIMITIVE_ARRAY_from_directBuffer_tps.png | Bin 0 -> 27804 bytes
 ...ro_copy_bench_serialize_BUFFER_to_array_tps.png | Bin 0 -> 26227 bytes
 ..._bench_serialize_BUFFER_to_directBuffer_tps.png | Bin 0 -> 27426 bytes
 ...ench_serialize_PRIMITIVE_ARRAY_to_array_tps.png | Bin 0 -> 26624 bytes
 ...rialize_PRIMITIVE_ARRAY_to_directBuffer_tps.png | Bin 0 -> 30564 bytes
 48 files changed, 919 insertions(+)

diff --git a/public/benchmarks/README.md b/public/benchmarks/README.md
new file mode 100644
index 0000000..1bc562a
--- /dev/null
+++ b/public/benchmarks/README.md
@@ -0,0 +1,540 @@
+# Java Benchmarks
+## System Environment
+- Operation System:4.9.151-015.x86_64
+- CPU:Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
+- Byte Order:Little Endian
+- L1d cache: 32K
+- L1i cache:32K
+- L2 cache: 1024K
+- L3 cache: 33792K
+
+## JMH params
+Don't skip **warm up**, otherwise the results aren't accurate.
+```bash
+ -f 1 -wi 3 -i 3 -t 1 -w 2s -r 2s -rf cs
+```
+
+## Benchmark Data:
+### Struct
+Struct is a class with 100 primitive fields:
+```java
+public class Struct {
+  public int f1;
+  public long f2;
+  public float f3;
+  public double f4;
+  // ...
+  public double f99;
+}
+```
+### Struct2
+Struct2 is a class with 100 boxed fields:
+```java
+public class Struct {
+  public Integer f1;
+  public Long f2;
+  public Float f3;
+  public Double f4;
+  // ...
+  public Double f99;
+}
+```
+### MediaContent
+MEDIA_CONTENT is a class from 
[jvm-serializers](https://github.com/eishay/jvm-serializers/blob/master/tpc/src/data/media/MediaContent.java).
+### Sample
+SAMPLE is a class from [kryo 
benchmark](https://github.com/EsotericSoftware/kryo/blob/master/benchmarks/src/main/java/com/esotericsoftware/kryo/benchmarks/data/Sample.java)
+
+## Benchmark Plots
+### Serialize to heap buffer
+Serialize data java byte array.
+
+#### Java schema consistent serialization
+The deserialization peer must have same class definition with the 
serialization peer.
+No class forward/backward compatibility are supported in this mode.
+
+<p align="center">
+<img width="24%" alt="" 
src="serialization/bench_serialize_STRUCT_to_array_tps.png">
+<img width="24%" alt="" 
src="serialization/bench_serialize_STRUCT2_to_array_tps.png">
+<img width="24%" alt="" 
src="serialization/bench_serialize_MEDIA_CONTENT_to_array_tps.png">
+<img width="24%" alt="" 
src="serialization/bench_serialize_SAMPLE_to_array_tps.png">
+</p>
+
+#### Java schema compatible serialization
+The deserialization peer can have different class definition with the 
serialization peer.
+Class forward/backward compatibility are supported in this mode.
+
+<p align="center">
+<img width="24%" alt="" 
src="serialization/bench_serialize_compatible_STRUCT_to_array_tps.png">
+<img width="24%" alt="" 
src="serialization/bench_serialize_compatible_STRUCT2_to_array_tps.png">
+<img width="24%" alt="" 
src="serialization/bench_serialize_compatible_MEDIA_CONTENT_to_array_tps.png">
+<img width="24%" alt="" 
src="serialization/bench_serialize_compatible_SAMPLE_to_array_tps.png">
+</p>
+
+#### Java schema consistent deserialization
+The deserialization peer must have same class definition with the 
serialization peer.
+No class forward/backward compatibility are supported in this mode.
+
+<p align="center">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_STRUCT_from_array_tps.png">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_STRUCT2_from_array_tps.png">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_MEDIA_CONTENT_from_array_tps.png">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_SAMPLE_from_array_tps.png">
+</p>
+
+#### Java schema compatible deserialization
+The deserialization peer can have different class definition with the 
serialization peer.
+Class forward/backward compatibility are supported in this mode.
+<p align="center">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_compatible_STRUCT_from_array_tps.png">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_compatible_STRUCT2_from_array_tps.png">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_compatible_MEDIA_CONTENT_from_array_tps.png">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_compatible_SAMPLE_from_array_tps.png">
+</p>
+
+### Off-heap serialization
+Serialize data off-heap memory.
+
+#### Java schema consistent serialization
+The deserialization peer must have same class definition with the 
serialization peer.
+No class forward/backward compatibility are supported in this mode.
+<p align="center">
+<img width="24%" alt="" 
src="serialization/bench_serialize_STRUCT_to_directBuffer_tps.png">
+<img width="24%" alt="" 
src="serialization/bench_serialize_STRUCT2_to_directBuffer_tps.png">
+<img width="24%" alt="" 
src="serialization/bench_serialize_MEDIA_CONTENT_to_directBuffer_tps.png">
+<img width="24%" alt="" 
src="serialization/bench_serialize_compatible_SAMPLE_to_directBuffer_tps.png">
+</p>
+
+#### Java schema compatible serialization
+The deserialization peer can have different class definition with the 
serialization peer.
+Class forward/backward compatibility are supported in this mode.
+<p align="center">
+<img width="24%" alt="" 
src="serialization/bench_serialize_compatible_STRUCT_to_directBuffer_tps.png">
+<img width="24%" alt="" 
src="serialization/bench_serialize_compatible_STRUCT2_to_directBuffer_tps.png">
+<img width="24%" alt="" 
src="serialization/bench_serialize_compatible_MEDIA_CONTENT_to_directBuffer_tps.png">
+<img width="24%" alt="" 
src="serialization/bench_serialize_SAMPLE_to_directBuffer_tps.png">
+</p>
+
+#### Java schema consistent deserialization
+The deserialization peer must have same class definition with the 
serialization peer.
+No class forward/backward compatibility are supported in this mode.
+<p align="center">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_STRUCT_from_directBuffer_tps.png">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_STRUCT2_from_directBuffer_tps.png">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_MEDIA_CONTENT_from_directBuffer_tps.png">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_SAMPLE_from_directBuffer_tps.png">
+</p>
+
+#### Java schema compatible deserialization
+The deserialization peer can have different class definition with the 
serialization peer.
+Class forward/backward compatibility are supported in this mode.
+<p align="center">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_compatible_STRUCT_from_directBuffer_tps.png">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_compatible_STRUCT2_from_directBuffer_tps.png">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_compatible_MEDIA_CONTENT_from_directBuffer_tps.png">
+<img width="24%" alt="" 
src="deserialization/bench_deserialize_compatible_SAMPLE_from_directBuffer_tps.png">
+</p>
+
+### Zero-copy serialization
+Note that zero-copy serialization just avoid the copy in serialization, if you 
send data to other machine, there may be copies. 
+
+But if you serialize data between processes on same node and use 
shared-memory, if the data are in off-heap before serialization, then other 
processes can read this buffer without any copies.
+#### Java zero-copy serialize to heap buffer
+<p align="center">
+<img width="24%" alt="" 
src="zerocopy/zero_copy_bench_serialize_BUFFER_to_array_tps.png">
+<img width="24%" alt="" 
src="zerocopy/zero_copy_bench_serialize_BUFFER_to_directBuffer_tps.png">
+<img width="24%" alt="" 
src="zerocopy/zero_copy_bench_serialize_PRIMITIVE_ARRAY_to_array_tps.png">
+<img width="24%" alt="" 
src="zerocopy/zero_copy_bench_serialize_PRIMITIVE_ARRAY_to_directBuffer_tps.png">
+</p>
+
+#### Java zero-copy serialize to direct buffer
+<p align="center">
+<img width="24%" alt="" 
src="zerocopy/zero_copy_bench_deserialize_BUFFER_from_array_tps.png">
+<img width="24%" alt="" 
src="zerocopy/zero_copy_bench_deserialize_BUFFER_from_directBuffer_tps.png">
+<img width="24%" alt="" 
src="zerocopy/zero_copy_bench_deserialize_PRIMITIVE_ARRAY_from_array_tps.png">
+<img width="24%" alt="" 
src="zerocopy/zero_copy_bench_deserialize_PRIMITIVE_ARRAY_from_directBuffer_tps.png">
+</p>
+
+## Benchmark Data
+### Java Serialization
+| Lib | Benchmark | bufferType | objectType | references | Tps |
+| ------- | ------- | ------- | ------- | ------- | ------- |
+| Fst | serialize | array | SAMPLE | False | 915907.574306 |
+| Fst | serialize | array | SAMPLE | True | 731869.156376 |
+| Fst | serialize | array | MEDIA_CONTENT | False | 751892.023189 |
+| Fst | serialize | array | MEDIA_CONTENT | True | 583859.907758 |
+| Fst | serialize | array | STRUCT | False | 882178.995727 |
+| Fst | serialize | array | STRUCT | True | 757753.756691 |
+| Fst | serialize | array | STRUCT2 | False | 371762.982661 |
+| Fst | serialize | array | STRUCT2 | True | 380638.700267 |
+| Fst | serialize | directBuffer | SAMPLE | False | 902302.261168 |
+| Fst | serialize | directBuffer | SAMPLE | True | 723614.06677 |
+| Fst | serialize | directBuffer | MEDIA_CONTENT | False | 728001.08025 |
+| Fst | serialize | directBuffer | MEDIA_CONTENT | True | 595679.580108 |
+| Fst | serialize | directBuffer | STRUCT | False | 807847.663261 |
+| Fst | serialize | directBuffer | STRUCT | True | 762088.935404 |
+| Fst | serialize | directBuffer | STRUCT2 | False | 365317.705376 |
+| Fst | serialize | directBuffer | STRUCT2 | True | 370851.880711 |
+| Fury | serialize | array | SAMPLE | False | 3570966.469087 |
+| Fury | serialize | array | SAMPLE | True | 1767693.83509 |
+| Fury | serialize | array | MEDIA_CONTENT | False | 3031642.924542 |
+| Fury | serialize | array | MEDIA_CONTENT | True | 2450384.600246 |
+| Fury | serialize | array | STRUCT | False | 7501415.56726 |
+| Fury | serialize | array | STRUCT | True | 6264439.154428 |
+| Fury | serialize | array | STRUCT2 | False | 3586126.623874 |
+| Fury | serialize | array | STRUCT2 | True | 3306474.506382 |
+| Fury | serialize | directBuffer | SAMPLE | False | 3684487.760591 |
+| Fury | serialize | directBuffer | SAMPLE | True | 1826456.709478 |
+| Fury | serialize | directBuffer | MEDIA_CONTENT | False | 2479862.129632 |
+| Fury | serialize | directBuffer | MEDIA_CONTENT | True | 1938527.588331 |
+| Fury | serialize | directBuffer | STRUCT | False | 9834243.243204 |
+| Fury | serialize | directBuffer | STRUCT | True | 7551780.823133 |
+| Fury | serialize | directBuffer | STRUCT2 | False | 2643155.135327 |
+| Fury | serialize | directBuffer | STRUCT2 | True | 2391110.083108 |
+| Fury | serialize_compatible | array | SAMPLE | False | 3604596.465625 |
+| Fury | serialize_compatible | array | SAMPLE | True | 1619648.337293 |
+| Fury | serialize_compatible | array | MEDIA_CONTENT | False | 1679272.036243 
|
+| Fury | serialize_compatible | array | MEDIA_CONTENT | True | 1406736.538716 |
+| Fury | serialize_compatible | array | STRUCT | False | 3530406.108869 |
+| Fury | serialize_compatible | array | STRUCT | True | 3293059.098127 |
+| Fury | serialize_compatible | array | STRUCT2 | False | 2773368.99768 |
+| Fury | serialize_compatible | array | STRUCT2 | True | 2564174.550276 |
+| Fury | serialize_compatible | directBuffer | SAMPLE | False | 3484533.218305 
|
+| Fury | serialize_compatible | directBuffer | SAMPLE | True | 1730824.630648 |
+| Fury | serialize_compatible | directBuffer | MEDIA_CONTENT | False | 
1710680.937387 |
+| Fury | serialize_compatible | directBuffer | MEDIA_CONTENT | True | 
1149999.473994 |
+| Fury | serialize_compatible | directBuffer | STRUCT | False | 2653169.568374 
|
+| Fury | serialize_compatible | directBuffer | STRUCT | True | 2393817.762938 |
+| Fury | serialize_compatible | directBuffer | STRUCT2 | False | 
1912402.937879 |
+| Fury | serialize_compatible | directBuffer | STRUCT2 | True | 1848338.968058 
|
+| Furymetashared | serialize_compatible | array | SAMPLE | False | 
4409055.687063 |
+| Furymetashared | serialize_compatible | array | SAMPLE | True | 
1840705.439334 |
+| Furymetashared | serialize_compatible | array | MEDIA_CONTENT | False | 
2992488.235281 |
+| Furymetashared | serialize_compatible | array | MEDIA_CONTENT | True | 
2058738.716953 |
+| Furymetashared | serialize_compatible | array | STRUCT | False | 
9204444.777172 |
+| Furymetashared | serialize_compatible | array | STRUCT | True | 
7064625.291374 |
+| Furymetashared | serialize_compatible | array | STRUCT2 | False | 
2575824.143864 |
+| Furymetashared | serialize_compatible | array | STRUCT2 | True | 
3543082.528217 |
+| Furymetashared | serialize_compatible | directBuffer | SAMPLE | False | 
5043538.364886 |
+| Furymetashared | serialize_compatible | directBuffer | SAMPLE | True | 
1859289.705838 |
+| Furymetashared | serialize_compatible | directBuffer | MEDIA_CONTENT | False 
| 2491443.556971 |
+| Furymetashared | serialize_compatible | directBuffer | MEDIA_CONTENT | True 
| 1804349.244125 |
+| Furymetashared | serialize_compatible | directBuffer | STRUCT | False | 
11650249.648715 |
+| Furymetashared | serialize_compatible | directBuffer | STRUCT | True | 
8702412.752357 |
+| Furymetashared | serialize_compatible | directBuffer | STRUCT2 | False | 
2714748.572448 |
+| Furymetashared | serialize_compatible | directBuffer | STRUCT2 | True | 
1866073.031851 |
+| Hession | serialize | array | SAMPLE | False | 240386.502846 |
+| Hession | serialize | array | SAMPLE | True | 192414.014211 |
+| Hession | serialize | array | MEDIA_CONTENT | False | 367782.358049 |
+| Hession | serialize | array | MEDIA_CONTENT | True | 329427.47068 |
+| Hession | serialize | array | STRUCT | False | 258233.998931 |
+| Hession | serialize | array | STRUCT | True | 260845.209485 |
+| Hession | serialize | array | STRUCT2 | False | 56056.080075 |
+| Hession | serialize | array | STRUCT2 | True | 60038.87979 |
+| Hession | serialize | directBuffer | SAMPLE | False | 240981.308085 |
+| Hession | serialize | directBuffer | SAMPLE | True | 211949.960255 |
+| Hession | serialize | directBuffer | MEDIA_CONTENT | False | 372477.13815 |
+| Hession | serialize | directBuffer | MEDIA_CONTENT | True | 353376.085025 |
+| Hession | serialize | directBuffer | STRUCT | False | 266481.009245 |
+| Hession | serialize | directBuffer | STRUCT | True | 261762.594966 |
+| Hession | serialize | directBuffer | STRUCT2 | False | 55924.319442 |
+| Hession | serialize | directBuffer | STRUCT2 | True | 56674.065604 |
+| Hession | serialize_compatible | array | SAMPLE | False | 234454.975158 |
+| Hession | serialize_compatible | array | SAMPLE | True | 206174.173039 |
+| Hession | serialize_compatible | array | MEDIA_CONTENT | False | 
377195.903772 |
+| Hession | serialize_compatible | array | MEDIA_CONTENT | True | 
351657.879556 |
+| Hession | serialize_compatible | array | STRUCT | False | 258650.663523 |
+| Hession | serialize_compatible | array | STRUCT | True | 263564.913879 |
+| Hession | serialize_compatible | array | STRUCT2 | False | 58509.125342 |
+| Hession | serialize_compatible | array | STRUCT2 | True | 55552.977735 |
+| Hession | serialize_compatible | directBuffer | SAMPLE | False | 
194761.244263 |
+| Hession | serialize_compatible | directBuffer | SAMPLE | True | 
212840.483308 |
+| Hession | serialize_compatible | directBuffer | MEDIA_CONTENT | False | 
371729.727192 |
+| Hession | serialize_compatible | directBuffer | MEDIA_CONTENT | True | 
343834.954942 |
+| Hession | serialize_compatible | directBuffer | STRUCT | False | 
249241.452137 |
+| Hession | serialize_compatible | directBuffer | STRUCT | True | 
263623.143601 |
+| Hession | serialize_compatible | directBuffer | STRUCT2 | False | 
58908.567439 |
+| Hession | serialize_compatible | directBuffer | STRUCT2 | True | 
55524.373547 |
+| Jdk | serialize | array | SAMPLE | False | 118374.836631 |
+| Jdk | serialize | array | SAMPLE | True | 119858.140625 |
+| Jdk | serialize | array | MEDIA_CONTENT | False | 137989.198821 |
+| Jdk | serialize | array | MEDIA_CONTENT | True | 140260.668888 |
+| Jdk | serialize | array | STRUCT | False | 155908.24424 |
+| Jdk | serialize | array | STRUCT | True | 151258.539369 |
+| Jdk | serialize | array | STRUCT2 | False | 36846.049162 |
+| Jdk | serialize | array | STRUCT2 | True | 38183.705811 |
+| Jdk | serialize | directBuffer | SAMPLE | False | 118273.584257 |
+| Jdk | serialize | directBuffer | SAMPLE | True | 108263.040839 |
+| Jdk | serialize | directBuffer | MEDIA_CONTENT | False | 138567.623369 |
+| Jdk | serialize | directBuffer | MEDIA_CONTENT | True | 140158.67391 |
+| Jdk | serialize | directBuffer | STRUCT | False | 154875.908438 |
+| Jdk | serialize | directBuffer | STRUCT | True | 156404.686214 |
+| Jdk | serialize | directBuffer | STRUCT2 | False | 37444.967981 |
+| Jdk | serialize | directBuffer | STRUCT2 | True | 35798.679246 |
+| Kryo | serialize | array | SAMPLE | False | 1105365.931217 |
+| Kryo | serialize | array | SAMPLE | True | 734215.482491 |
+| Kryo | serialize | array | MEDIA_CONTENT | False | 730792.521676 |
+| Kryo | serialize | array | MEDIA_CONTENT | True | 445251.084327 |
+| Kryo | serialize | array | STRUCT | False | 558194.100861 |
+| Kryo | serialize | array | STRUCT | True | 557542.628765 |
+| Kryo | serialize | array | STRUCT2 | False | 325172.969175 |
+| Kryo | serialize | array | STRUCT2 | True | 259863.332448 |
+| Kryo | serialize | directBuffer | SAMPLE | False | 1376560.302168 |
+| Kryo | serialize | directBuffer | SAMPLE | True | 932887.968348 |
+| Kryo | serialize | directBuffer | MEDIA_CONTENT | False | 608972.51758 |
+| Kryo | serialize | directBuffer | MEDIA_CONTENT | True | 359875.473951 |
+| Kryo | serialize | directBuffer | STRUCT | False | 1078046.011115 |
+| Kryo | serialize | directBuffer | STRUCT | True | 853350.408656 |
+| Kryo | serialize | directBuffer | STRUCT2 | False | 355688.882786 |
+| Kryo | serialize | directBuffer | STRUCT2 | True | 338960.426033 |
+| Kryo | serialize_compatible | array | SAMPLE | False | 378907.663184 |
+| Kryo | serialize_compatible | array | SAMPLE | True | 320815.567701 |
+| Kryo | serialize_compatible | array | MEDIA_CONTENT | False | 188911.259146 |
+| Kryo | serialize_compatible | array | MEDIA_CONTENT | True | 145782.916427 |
+| Kryo | serialize_compatible | array | STRUCT | False | 145964.199559 |
+| Kryo | serialize_compatible | array | STRUCT | True | 136180.832879 |
+| Kryo | serialize_compatible | array | STRUCT2 | False | 125807.748004 |
+| Kryo | serialize_compatible | array | STRUCT2 | True | 114983.546343 |
+| Kryo | serialize_compatible | directBuffer | SAMPLE | False | 296102.615094 |
+| Kryo | serialize_compatible | directBuffer | SAMPLE | True | 276757.392449 |
+| Kryo | serialize_compatible | directBuffer | MEDIA_CONTENT | False | 
185363.714829 |
+| Kryo | serialize_compatible | directBuffer | MEDIA_CONTENT | True | 
142836.961878 |
+| Kryo | serialize_compatible | directBuffer | STRUCT | False | 106695.800245 |
+| Kryo | serialize_compatible | directBuffer | STRUCT | True | 106458.212005 |
+| Kryo | serialize_compatible | directBuffer | STRUCT2 | False | 92130.672361 |
+| Kryo | serialize_compatible | directBuffer | STRUCT2 | True | 88989.724768 |
+| Protostuff | serialize | array | SAMPLE | False | 663272.710783 |
+| Protostuff | serialize | array | MEDIA_CONTENT | False | 780618.761219 |
+| Protostuff | serialize | array | STRUCT | False | 330975.350403 |
+| Protostuff | serialize | array | STRUCT2 | False | 324563.440433 |
+| Protostuff | serialize | directBuffer | SAMPLE | False | 693641.589806 |
+| Protostuff | serialize | directBuffer | MEDIA_CONTENT | False | 
805941.345157 |
+| Protostuff | serialize | directBuffer | STRUCT | False | 340262.650047 |
+| Protostuff | serialize | directBuffer | STRUCT2 | False | 325093.716261 |
+| Fst | deserialize | array | SAMPLE | False | 473409.796491 |
+| Fst | deserialize | array | SAMPLE | True | 428315.502365 |
+| Fst | deserialize | array | MEDIA_CONTENT | False | 363455.785182 |
+| Fst | deserialize | array | MEDIA_CONTENT | True | 304371.728638 |
+| Fst | deserialize | array | STRUCT | False | 357887.235311 |
+| Fst | deserialize | array | STRUCT | True | 353480.554035 |
+| Fst | deserialize | array | STRUCT2 | False | 280131.091068 |
+| Fst | deserialize | array | STRUCT2 | True | 260649.308016 |
+| Fst | deserialize | directBuffer | SAMPLE | False | 441027.550809 |
+| Fst | deserialize | directBuffer | SAMPLE | True | 420523.770904 |
+| Fst | deserialize | directBuffer | MEDIA_CONTENT | False | 311691.658687 |
+| Fst | deserialize | directBuffer | MEDIA_CONTENT | True | 251820.171513 |
+| Fst | deserialize | directBuffer | STRUCT | False | 352441.597147 |
+| Fst | deserialize | directBuffer | STRUCT | True | 334574.303484 |
+| Fst | deserialize | directBuffer | STRUCT2 | False | 262519.85881 |
+| Fst | deserialize | directBuffer | STRUCT2 | True | 234973.637096 |
+| Fury | deserialize | array | SAMPLE | False | 2069988.624415 |
+| Fury | deserialize | array | SAMPLE | True | 1797942.442313 |
+| Fury | deserialize | array | MEDIA_CONTENT | False | 2054066.903469 |
+| Fury | deserialize | array | MEDIA_CONTENT | True | 1507767.206603 |
+| Fury | deserialize | array | STRUCT | False | 4595230.434552 |
+| Fury | deserialize | array | STRUCT | True | 4634753.596131 |
+| Fury | deserialize | array | STRUCT2 | False | 1126298.35955 |
+| Fury | deserialize | array | STRUCT2 | True | 1046649.083082 |
+| Fury | deserialize | directBuffer | SAMPLE | False | 2429791.078395 |
+| Fury | deserialize | directBuffer | SAMPLE | True | 1958815.397807 |
+| Fury | deserialize | directBuffer | MEDIA_CONTENT | False | 1502746.028159 |
+| Fury | deserialize | directBuffer | MEDIA_CONTENT | True | 1290593.975753 |
+| Fury | deserialize | directBuffer | STRUCT | False | 5012002.859236 |
+| Fury | deserialize | directBuffer | STRUCT | True | 4864329.316938 |
+| Fury | deserialize | directBuffer | STRUCT2 | False | 1117586.457565 |
+| Fury | deserialize | directBuffer | STRUCT2 | True | 1018277.848128 |
+| Fury | deserialize_compatible | array | SAMPLE | False | 2496046.895861 |
+| Fury | deserialize_compatible | array | SAMPLE | True | 1834139.395757 |
+| Fury | deserialize_compatible | array | MEDIA_CONTENT | False | 
1441671.70632 |
+| Fury | deserialize_compatible | array | MEDIA_CONTENT | True | 
1121136.039627 |
+| Fury | deserialize_compatible | array | STRUCT | False | 2110335.039275 |
+| Fury | deserialize_compatible | array | STRUCT | True | 2135681.982674 |
+| Fury | deserialize_compatible | array | STRUCT2 | False | 849507.176263 |
+| Fury | deserialize_compatible | array | STRUCT2 | True | 815120.319155 |
+| Fury | deserialize_compatible | directBuffer | SAMPLE | False | 
2308111.633661 |
+| Fury | deserialize_compatible | directBuffer | SAMPLE | True | 
1820490.585648 |
+| Fury | deserialize_compatible | directBuffer | MEDIA_CONTENT | False | 
1256034.732514 |
+| Fury | deserialize_compatible | directBuffer | MEDIA_CONTENT | True | 
1054942.751816 |
+| Fury | deserialize_compatible | directBuffer | STRUCT | False | 
1596464.248141 |
+| Fury | deserialize_compatible | directBuffer | STRUCT | True | 
1684681.074242 |
+| Fury | deserialize_compatible | directBuffer | STRUCT2 | False | 
784036.589363 |
+| Fury | deserialize_compatible | directBuffer | STRUCT2 | True | 
782679.662083 |
+| Furymetashared | deserialize_compatible | array | SAMPLE | False | 
2485564.396196 |
+| Furymetashared | deserialize_compatible | array | SAMPLE | True | 
2002938.794909 |
+| Furymetashared | deserialize_compatible | array | MEDIA_CONTENT | False | 
2479742.810882 |
+| Furymetashared | deserialize_compatible | array | MEDIA_CONTENT | True | 
1623938.202345 |
+| Furymetashared | deserialize_compatible | array | STRUCT | False | 
4978833.206806 |
+| Furymetashared | deserialize_compatible | array | STRUCT | True | 
4807963.88252 |
+| Furymetashared | deserialize_compatible | array | STRUCT2 | False | 
1201998.142474 |
+| Furymetashared | deserialize_compatible | array | STRUCT2 | True | 
1058423.614156 |
+| Furymetashared | deserialize_compatible | directBuffer | SAMPLE | False | 
2489261.533644 |
+| Furymetashared | deserialize_compatible | directBuffer | SAMPLE | True | 
1927548.827586 |
+| Furymetashared | deserialize_compatible | directBuffer | MEDIA_CONTENT | 
False | 1718098.363961 |
+| Furymetashared | deserialize_compatible | directBuffer | MEDIA_CONTENT | 
True | 1333345.536684 |
+| Furymetashared | deserialize_compatible | directBuffer | STRUCT | False | 
5149070.65783 |
+| Furymetashared | deserialize_compatible | directBuffer | STRUCT | True | 
5137500.621288 |
+| Furymetashared | deserialize_compatible | directBuffer | STRUCT2 | False | 
1131212.586953 |
+| Furymetashared | deserialize_compatible | directBuffer | STRUCT2 | True | 
1089162.408165 |
+| Hession | deserialize | array | SAMPLE | False | 119471.518388 |
+| Hession | deserialize | array | SAMPLE | True | 121106.002978 |
+| Hession | deserialize | array | MEDIA_CONTENT | False | 118156.072484 |
+| Hession | deserialize | array | MEDIA_CONTENT | True | 120016.594171 |
+| Hession | deserialize | array | STRUCT | False | 84709.108821 |
+| Hession | deserialize | array | STRUCT | True | 91050.370244 |
+| Hession | deserialize | array | STRUCT2 | False | 69758.767783 |
+| Hession | deserialize | array | STRUCT2 | True | 68616.029248 |
+| Hession | deserialize | directBuffer | SAMPLE | False | 117806.916589 |
+| Hession | deserialize | directBuffer | SAMPLE | True | 121940.783597 |
+| Hession | deserialize | directBuffer | MEDIA_CONTENT | False | 111067.942626 
|
+| Hession | deserialize | directBuffer | MEDIA_CONTENT | True | 121820.82126 |
+| Hession | deserialize | directBuffer | STRUCT | False | 91151.633583 |
+| Hession | deserialize | directBuffer | STRUCT | True | 91037.205901 |
+| Hession | deserialize | directBuffer | STRUCT2 | False | 66866.108653 |
+| Hession | deserialize | directBuffer | STRUCT2 | True | 65338.345185 |
+| Hession | deserialize_compatible | array | SAMPLE | False | 121898.105768 |
+| Hession | deserialize_compatible | array | SAMPLE | True | 121297.485903 |
+| Hession | deserialize_compatible | array | MEDIA_CONTENT | False | 
121619.090797 |
+| Hession | deserialize_compatible | array | MEDIA_CONTENT | True | 
119994.10405 |
+| Hession | deserialize_compatible | array | STRUCT | False | 88617.486795 |
+| Hession | deserialize_compatible | array | STRUCT | True | 90206.654212 |
+| Hession | deserialize_compatible | array | STRUCT2 | False | 63703.763814 |
+| Hession | deserialize_compatible | array | STRUCT2 | True | 69521.573119 |
+| Hession | deserialize_compatible | directBuffer | SAMPLE | False | 
124044.417439 |
+| Hession | deserialize_compatible | directBuffer | SAMPLE | True | 
120276.449497 |
+| Hession | deserialize_compatible | directBuffer | MEDIA_CONTENT | False | 
107594.47489 |
+| Hession | deserialize_compatible | directBuffer | MEDIA_CONTENT | True | 
116531.023438 |
+| Hession | deserialize_compatible | directBuffer | STRUCT | False | 
89580.561575 |
+| Hession | deserialize_compatible | directBuffer | STRUCT | True | 
84407.472531 |
+| Hession | deserialize_compatible | directBuffer | STRUCT2 | False | 
69342.030965 |
+| Hession | deserialize_compatible | directBuffer | STRUCT2 | True | 
68542.055543 |
+| Jdk | deserialize | array | SAMPLE | False | 29309.573998 |
+| Jdk | deserialize | array | SAMPLE | True | 27466.003923 |
+| Jdk | deserialize | array | MEDIA_CONTENT | False | 38536.250402 |
+| Jdk | deserialize | array | MEDIA_CONTENT | True | 38957.19109 |
+| Jdk | deserialize | array | STRUCT | False | 29603.066599 |
+| Jdk | deserialize | array | STRUCT | True | 29727.744196 |
+| Jdk | deserialize | array | STRUCT2 | False | 14888.805111 |
+| Jdk | deserialize | array | STRUCT2 | True | 14034.100664 |
+| Jdk | deserialize | directBuffer | SAMPLE | False | 28128.457935 |
+| Jdk | deserialize | directBuffer | SAMPLE | True | 28241.014735 |
+| Jdk | deserialize | directBuffer | MEDIA_CONTENT | False | 40512.632076 |
+| Jdk | deserialize | directBuffer | MEDIA_CONTENT | True | 37030.594632 |
+| Jdk | deserialize | directBuffer | STRUCT | False | 28717.004518 |
+| Jdk | deserialize | directBuffer | STRUCT | True | 29549.998286 |
+| Jdk | deserialize | directBuffer | STRUCT2 | False | 14652.043788 |
+| Jdk | deserialize | directBuffer | STRUCT2 | True | 14425.886048 |
+| Kryo | deserialize | array | SAMPLE | False | 979173.981159 |
+| Kryo | deserialize | array | SAMPLE | True | 716438.884369 |
+| Kryo | deserialize | array | MEDIA_CONTENT | False | 577631.234369 |
+| Kryo | deserialize | array | MEDIA_CONTENT | True | 365530.417232 |
+| Kryo | deserialize | array | STRUCT | False | 607750.343557 |
+| Kryo | deserialize | array | STRUCT | True | 552802.247807 |
+| Kryo | deserialize | array | STRUCT2 | False | 275984.042401 |
+| Kryo | deserialize | array | STRUCT2 | True | 242710.554833 |
+| Kryo | deserialize | directBuffer | SAMPLE | False | 983538.936801 |
+| Kryo | deserialize | directBuffer | SAMPLE | True | 762889.302732 |
+| Kryo | deserialize | directBuffer | MEDIA_CONTENT | False | 389473.174523 |
+| Kryo | deserialize | directBuffer | MEDIA_CONTENT | True | 306995.240799 |
+| Kryo | deserialize | directBuffer | STRUCT | False | 910534.169114 |
+| Kryo | deserialize | directBuffer | STRUCT | True | 914404.107564 |
+| Kryo | deserialize | directBuffer | STRUCT2 | False | 319247.256793 |
+| Kryo | deserialize | directBuffer | STRUCT2 | True | 249105.828416 |
+| Kryo | deserialize_compatible | array | SAMPLE | False | 255086.928308 |
+| Kryo | deserialize_compatible | array | SAMPLE | True | 238811.99551 |
+| Kryo | deserialize_compatible | array | MEDIA_CONTENT | False | 
180882.860363 |
+| Kryo | deserialize_compatible | array | MEDIA_CONTENT | True | 154311.21154 |
+| Kryo | deserialize_compatible | array | STRUCT | False | 78771.635309 |
+| Kryo | deserialize_compatible | array | STRUCT | True | 72805.937649 |
+| Kryo | deserialize_compatible | array | STRUCT2 | False | 60602.285743 |
+| Kryo | deserialize_compatible | array | STRUCT2 | True | 62729.908347 |
+| Kryo | deserialize_compatible | directBuffer | SAMPLE | False | 201993.78789 
|
+| Kryo | deserialize_compatible | directBuffer | SAMPLE | True | 174534.71087 |
+| Kryo | deserialize_compatible | directBuffer | MEDIA_CONTENT | False | 
134485.1603 |
+| Kryo | deserialize_compatible | directBuffer | MEDIA_CONTENT | True | 
119311.787329 |
+| Kryo | deserialize_compatible | directBuffer | STRUCT | False | 58574.904245 
|
+| Kryo | deserialize_compatible | directBuffer | STRUCT | True | 60685.320299 |
+| Kryo | deserialize_compatible | directBuffer | STRUCT2 | False | 
54637.329134 |
+| Kryo | deserialize_compatible | directBuffer | STRUCT2 | True | 51761.569591 
|
+| Protostuff | deserialize | array | SAMPLE | False | 619338.385412 |
+| Protostuff | deserialize | array | MEDIA_CONTENT | False | 951662.019963 |
+| Protostuff | deserialize | array | STRUCT | False | 517381.168594 |
+| Protostuff | deserialize | array | STRUCT2 | False | 416212.973861 |
+| Protostuff | deserialize | directBuffer | SAMPLE | False | 624804.978534 |
+| Protostuff | deserialize | directBuffer | MEDIA_CONTENT | False | 
964664.641598 |
+| Protostuff | deserialize | directBuffer | STRUCT | False | 538924.947147 |
+| Protostuff | deserialize | directBuffer | STRUCT2 | False | 425523.315814 |
+
+### Java Zero-copy
+| Lib | Benchmark | array_size | bufferType | dataType | Tps |
+| ------- | ------- | ------- | ------- | ------- | ------- |
+| Fst | deserialize | 200 | array | PRIMITIVE_ARRAY | 219333.990504 |
+| Fst | deserialize | 200 | array | BUFFER | 657754.887247 |
+| Fst | deserialize | 200 | directBuffer | PRIMITIVE_ARRAY | 179604.045774 |
+| Fst | deserialize | 200 | directBuffer | BUFFER | 598421.278941 |
+| Fst | deserialize | 1000 | array | PRIMITIVE_ARRAY | 53100.903684 |
+| Fst | deserialize | 1000 | array | BUFFER | 424147.154601 |
+| Fst | deserialize | 1000 | directBuffer | PRIMITIVE_ARRAY | 38572.001768 |
+| Fst | deserialize | 1000 | directBuffer | BUFFER | 298929.116572 |
+| Fst | deserialize | 5000 | array | PRIMITIVE_ARRAY | 10672.872798 |
+| Fst | deserialize | 5000 | array | BUFFER | 136934.604328 |
+| Fst | deserialize | 5000 | directBuffer | PRIMITIVE_ARRAY | 8561.694533 |
+| Fst | deserialize | 5000 | directBuffer | BUFFER | 77950.612503 |
+| Fst | serialize | 200 | array | PRIMITIVE_ARRAY | 313986.053417 |
+| Fst | serialize | 200 | array | BUFFER | 2400193.240466 |
+| Fst | serialize | 200 | directBuffer | PRIMITIVE_ARRAY | 294132.218623 |
+| Fst | serialize | 200 | directBuffer | BUFFER | 2482550.111756 |
+| Fst | serialize | 1000 | array | PRIMITIVE_ARRAY | 67209.107012 |
+| Fst | serialize | 1000 | array | BUFFER | 1805557.47781 |
+| Fst | serialize | 1000 | directBuffer | PRIMITIVE_ARRAY | 66108.014324 |
+| Fst | serialize | 1000 | directBuffer | BUFFER | 1644789.42701 |
+| Fst | serialize | 5000 | array | PRIMITIVE_ARRAY | 14997.400124 |
+| Fst | serialize | 5000 | array | BUFFER | 811029.402136 |
+| Fst | serialize | 5000 | directBuffer | PRIMITIVE_ARRAY | 15000.378818 |
+| Fst | serialize | 5000 | directBuffer | BUFFER | 477148.54085 |
+| Fury | deserialize | 200 | array | PRIMITIVE_ARRAY | 986136.067809 |
+| Fury | deserialize | 200 | array | BUFFER | 3302149.383135 |
+| Fury | deserialize | 200 | directBuffer | PRIMITIVE_ARRAY | 991807.969328 |
+| Fury | deserialize | 200 | directBuffer | BUFFER | 3113115.471758 |
+| Fury | deserialize | 1000 | array | PRIMITIVE_ARRAY | 205671.992736 |
+| Fury | deserialize | 1000 | array | BUFFER | 2831942.848999 |
+| Fury | deserialize | 1000 | directBuffer | PRIMITIVE_ARRAY | 202475.242341 |
+| Fury | deserialize | 1000 | directBuffer | BUFFER | 3397690.327371 |
+| Fury | deserialize | 5000 | array | PRIMITIVE_ARRAY | 40312.590172 |
+| Fury | deserialize | 5000 | array | BUFFER | 3296658.120035 |
+| Fury | deserialize | 5000 | directBuffer | PRIMITIVE_ARRAY | 40413.743717 |
+| Fury | deserialize | 5000 | directBuffer | BUFFER | 3284441.570594 |
+| Fury | serialize | 200 | array | PRIMITIVE_ARRAY | 8297232.942927 |
+| Fury | serialize | 200 | array | BUFFER | 5123572.914045 |
+| Fury | serialize | 200 | directBuffer | PRIMITIVE_ARRAY | 8335248.350301 |
+| Fury | serialize | 200 | directBuffer | BUFFER | 5400346.890126 |
+| Fury | serialize | 1000 | array | PRIMITIVE_ARRAY | 8772856.921028 |
+| Fury | serialize | 1000 | array | BUFFER | 4979590.929127 |
+| Fury | serialize | 1000 | directBuffer | PRIMITIVE_ARRAY | 8207563.785251 |
+| Fury | serialize | 1000 | directBuffer | BUFFER | 5376191.775007 |
+| Fury | serialize | 5000 | array | PRIMITIVE_ARRAY | 8027439.580246 |
+| Fury | serialize | 5000 | array | BUFFER | 5018916.32477 |
+| Fury | serialize | 5000 | directBuffer | PRIMITIVE_ARRAY | 7695981.988316 |
+| Fury | serialize | 5000 | directBuffer | BUFFER | 5330897.68296 |
+| Kryo | deserialize | 200 | array | PRIMITIVE_ARRAY | 146675.360652 |
+| Kryo | deserialize | 200 | array | BUFFER | 1296284.78772 |
+| Kryo | deserialize | 200 | directBuffer | PRIMITIVE_ARRAY | 518713.299424 |
+| Kryo | deserialize | 200 | directBuffer | BUFFER | 1004844.498712 |
+| Kryo | deserialize | 1000 | array | PRIMITIVE_ARRAY | 30409.835023 |
+| Kryo | deserialize | 1000 | array | BUFFER | 721266.54113 |
+| Kryo | deserialize | 1000 | directBuffer | PRIMITIVE_ARRAY | 112132.004609 |
+| Kryo | deserialize | 1000 | directBuffer | BUFFER | 592972.713203 |
+| Kryo | deserialize | 5000 | array | PRIMITIVE_ARRAY | 6124.351248 |
+| Kryo | deserialize | 5000 | array | BUFFER | 147251.846111 |
+| Kryo | deserialize | 5000 | directBuffer | PRIMITIVE_ARRAY | 21826.04041 |
+| Kryo | deserialize | 5000 | directBuffer | BUFFER | 148614.476829 |
+| Kryo | serialize | 200 | array | PRIMITIVE_ARRAY | 147342.606262 |
+| Kryo | serialize | 200 | array | BUFFER | 1985187.977633 |
+| Kryo | serialize | 200 | directBuffer | PRIMITIVE_ARRAY | 972683.763633 |
+| Kryo | serialize | 200 | directBuffer | BUFFER | 1739454.51977 |
+| Kryo | serialize | 1000 | array | PRIMITIVE_ARRAY | 31395.721514 |
+| Kryo | serialize | 1000 | array | BUFFER | 1616159.67123 |
+| Kryo | serialize | 1000 | directBuffer | PRIMITIVE_ARRAY | 209183.090868 |
+| Kryo | serialize | 1000 | directBuffer | BUFFER | 1377272.56851 |
+| Kryo | serialize | 5000 | array | PRIMITIVE_ARRAY | 6248.006967 |
+| Kryo | serialize | 5000 | array | BUFFER | 711287.533377 |
+| Kryo | serialize | 5000 | directBuffer | PRIMITIVE_ARRAY | 43565.678616 |
+| Kryo | serialize | 5000 | directBuffer | BUFFER | 707092.956534 |
diff --git 
a/public/benchmarks/compatible/bench_deserialize_compatible_MEDIA_CONTENT_from_array_tps.png
 
b/public/benchmarks/compatible/bench_deserialize_compatible_MEDIA_CONTENT_from_array_tps.png
new file mode 100644
index 0000000..4b89344
Binary files /dev/null and 
b/public/benchmarks/compatible/bench_deserialize_compatible_MEDIA_CONTENT_from_array_tps.png
 differ
diff --git 
a/public/benchmarks/compatible/bench_deserialize_compatible_STRUCT_from_directBuffer_tps.png
 
b/public/benchmarks/compatible/bench_deserialize_compatible_STRUCT_from_directBuffer_tps.png
new file mode 100644
index 0000000..76af592
Binary files /dev/null and 
b/public/benchmarks/compatible/bench_deserialize_compatible_STRUCT_from_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/compatible/bench_serialize_compatible_MEDIA_CONTENT_to_array_tps.png
 
b/public/benchmarks/compatible/bench_serialize_compatible_MEDIA_CONTENT_to_array_tps.png
new file mode 100644
index 0000000..e6f4422
Binary files /dev/null and 
b/public/benchmarks/compatible/bench_serialize_compatible_MEDIA_CONTENT_to_array_tps.png
 differ
diff --git 
a/public/benchmarks/compatible/bench_serialize_compatible_STRUCT_to_directBuffer_tps.png
 
b/public/benchmarks/compatible/bench_serialize_compatible_STRUCT_to_directBuffer_tps.png
new file mode 100644
index 0000000..27897a2
Binary files /dev/null and 
b/public/benchmarks/compatible/bench_serialize_compatible_STRUCT_to_directBuffer_tps.png
 differ
diff --git a/public/benchmarks/data/jmh-jdk-11-deserialization.csv 
b/public/benchmarks/data/jmh-jdk-11-deserialization.csv
new file mode 100644
index 0000000..09194c8
--- /dev/null
+++ b/public/benchmarks/data/jmh-jdk-11-deserialization.csv
@@ -0,0 +1,153 @@
+"Benchmark","Mode","Threads","Samples","Score","Score Error 
(99.9%)","Unit","Param: bufferType","Param: objectType","Param: references"
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,473409.796491,250793.361170,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,428315.502365,191770.682411,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,363455.785182,44717.666948,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,304371.728638,74831.791688,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,357887.235311,218092.594151,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,353480.554035,229239.505256,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,280131.091068,89472.347221,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,260649.308016,165597.762734,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,441027.550809,321712.847983,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,420523.770904,122531.658151,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,311691.658687,185300.664992,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,251820.171513,894743.730727,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,352441.597147,109488.413174,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,334574.303484,89858.329407,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,262519.858810,138990.948859,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fst_deserialize","thrpt",1,3,234973.637096,568162.582389,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,2069988.624415,1501625.089719,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,1797942.442313,3541577.357052,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,2054066.903469,3314161.094630,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,1507767.206603,1662320.958961,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,4595230.434552,678411.427346,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,4634753.596131,582102.492158,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,1126298.359550,856691.704987,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,1046649.083082,1816153.563648,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,2229791.078395,2950833.975767,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,1958815.397807,381903.427430,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,1502746.028159,1759759.267183,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,1290593.975753,246089.810346,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,5012002.859236,3360944.705659,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,4864329.316938,4357833.300692,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,1117586.457565,323438.118804,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize","thrpt",1,3,1018277.848128,1141314.435153,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,2296046.895861,2532372.600048,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,1834139.395757,1021897.505849,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,1441671.706320,317052.609754,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,1121136.039627,979316.642796,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,2110335.039275,389404.889706,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,2135681.982674,1140328.709799,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,849507.176263,77466.989680,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,815120.319155,110547.743648,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,2308111.633661,1699117.497565,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,1820490.585648,244290.391445,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,1256034.732514,811833.294307,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,1054942.751816,180122.424477,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,1596464.248141,1624412.248391,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,1684681.074242,865262.572050,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,784036.589363,189745.805570,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.fury_deserialize_compatible","thrpt",1,3,782679.662083,232459.929272,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,2485564.396196,404678.689647,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,2002938.794909,254819.284313,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,2279742.810882,1984221.778254,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,1623938.202345,902985.831204,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,4978833.206806,1201415.339844,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,4807963.882520,981981.561987,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,1201998.142474,446807.356524,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,1058423.614156,2254684.330438,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,2289261.533644,330913.304260,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,1927548.827586,2169684.221478,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,1718098.363961,1096276.962216,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,1333345.536684,1110700.750020,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,5149070.657830,3249519.880480,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,5137500.621288,3988987.937014,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,1131212.586953,240674.468318,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.furymetashared_deserialize_compatible","thrpt",1,3,1089162.408165,294119.059967,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,119471.518388,29846.632785,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,121106.002978,27710.578092,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,118156.072284,4767.841380,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,120016.594171,41255.986380,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,84709.108821,132894.355932,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,91050.370224,17939.461828,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,69758.767783,10886.276794,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,68616.029248,13625.851120,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,117806.916589,35449.535259,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,121940.783597,54381.355274,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,111067.942626,136178.034974,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,121820.821260,36972.450957,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,91151.633583,18401.579776,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,91037.205901,58868.732797,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,66866.108653,38522.707093,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize","thrpt",1,3,65338.345185,56556.914062,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,121898.105768,55415.594537,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,121297.485903,33990.621079,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,121619.090797,6094.683470,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,119994.104050,24538.128667,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,88617.486795,40076.835119,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,90206.654212,19313.248466,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,63703.763814,132184.298414,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,69521.573119,8875.645591,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,124044.417439,41135.181705,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,120276.449497,87827.771405,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,107594.474890,81084.454215,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,116531.023438,141591.979641,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,89580.561575,23464.095972,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,84407.472531,46007.731889,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,69342.030965,17706.784671,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.hession_deserialize_compatible","thrpt",1,3,68542.055543,31793.805138,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,29309.573998,765.998843,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,27466.003923,14896.452629,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,38536.250402,28217.590983,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,38957.191090,23931.545367,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,29603.066599,10373.666720,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,29727.744196,15820.774882,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,14888.805111,842.165916,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,14034.100664,13936.787605,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,28128.457935,5385.055284,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,28221.014735,15281.277719,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,40512.632076,8592.454839,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,37030.594632,9683.316145,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,28717.004518,17023.663871,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,29549.998286,13823.854047,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,14652.043788,2419.900104,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.jdk_deserialize","thrpt",1,3,14425.886048,8723.095052,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,979173.981159,178146.966897,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,716438.884369,623966.984928,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,577631.234369,221011.018380,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,365530.417232,214946.853015,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,607750.343557,99638.164976,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,552802.227807,126286.013177,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,275984.042401,9405.143983,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,222710.554833,45168.519253,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,983538.936801,1112062.949472,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,762889.302732,279678.610328,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,389473.174523,43058.395501,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,306995.220799,57411.579647,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,910534.169114,1888677.766640,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,914404.107564,357717.816934,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,319247.256793,217674.935649,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize","thrpt",1,3,249105.828416,131690.474985,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,255086.928308,23672.392381,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,238811.995510,18059.118666,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,180882.860363,69339.581545,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,154311.211540,23065.912064,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,78771.635309,45155.641241,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,72805.937649,16849.888437,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,60602.285743,61404.274046,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,62729.908347,32805.651539,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,201993.787890,41567.224827,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,174534.710870,96357.498949,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,134485.160300,104898.991148,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,119311.787329,66580.856795,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,58574.904225,140682.248378,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,60685.320299,24159.853451,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,54637.329134,14011.283798,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.kryo_deserialize_compatible","thrpt",1,3,51761.569591,61030.640534,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.protostuff_deserialize","thrpt",1,3,619338.385412,275705.847169,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.protostuff_deserialize","thrpt",1,3,951662.019963,165160.853007,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.protostuff_deserialize","thrpt",1,3,517381.168594,313746.662696,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.protostuff_deserialize","thrpt",1,3,416212.973861,119393.345217,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.protostuff_deserialize","thrpt",1,3,624804.978534,147685.682690,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.protostuff_deserialize","thrpt",1,3,964664.641598,218386.902856,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.protostuff_deserialize","thrpt",1,3,538922.947147,59168.303230,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeDeserializeSuite.protostuff_deserialize","thrpt",1,3,425523.315814,179264.359952,"ops/s",directBuffer,STRUCT2,false
diff --git a/public/benchmarks/data/jmh-jdk-11-serialization.csv 
b/public/benchmarks/data/jmh-jdk-11-serialization.csv
new file mode 100644
index 0000000..b349c3a
--- /dev/null
+++ b/public/benchmarks/data/jmh-jdk-11-serialization.csv
@@ -0,0 +1,153 @@
+"Benchmark","Mode","Threads","Samples","Score","Score Error 
(99.9%)","Unit","Param: bufferType","Param: objectType","Param: references"
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,915907.574306,87627.907529,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,731869.156376,37845.555465,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,751892.023189,174327.010719,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,583859.907758,320047.618377,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,882178.995727,294884.724923,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,757753.756691,605180.489112,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,371762.982661,80513.482138,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,380638.700267,101974.434105,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,902302.261168,474054.277143,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,723614.066770,77429.645491,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,728001.080250,75699.111305,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,595679.580108,117269.848918,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,807847.663261,67842.801069,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,762088.935404,575559.070335,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,365317.705376,138313.634773,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fst_serialize","thrpt",1,3,370851.880711,66834.323719,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,3570966.469087,152949.902180,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,1767693.835090,263146.035836,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,3031642.924542,567213.986117,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,2250384.600246,529709.299207,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,7501415.567260,6672023.542025,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,6264439.154428,976363.317001,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,3586126.623874,1966282.728305,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,3306474.506382,869558.338568,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,3684487.760591,882227.920611,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,1826456.709478,1377648.673630,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,2479862.129632,1498299.302699,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,1938527.588331,148125.034055,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,9834223.243204,5284494.290641,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,7551780.823133,744016.111639,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,2643155.135327,200764.008652,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize","thrpt",1,3,2391110.083108,2608567.411194,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,3604596.465625,1232634.245435,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,1619648.337293,212055.067245,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,1679272.036223,788041.322785,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,1406736.538716,263608.222325,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,3530406.108869,3125642.741982,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,3293059.098127,96940.669016,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,2773368.997680,503239.905176,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,2564174.550276,978139.792610,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,3484533.218305,476583.192148,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,1730822.630648,410016.597939,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,1710680.937387,307207.222026,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,1149999.473994,140915.968294,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,2653169.568374,535312.987476,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,2393817.762938,380997.375838,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,1912402.937879,284090.793301,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.fury_serialize_compatible","thrpt",1,3,1848338.968058,108311.846780,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,4409055.687063,112740.443049,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,1840705.439334,516764.580627,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,2992288.235281,867622.163323,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,2058738.716953,2388681.798594,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,9204444.777172,1526628.258403,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,7064625.291374,2655795.498346,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,2575824.143864,2216634.295140,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,3543082.528217,393858.603613,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,5043538.364886,2797987.191909,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,1859289.705838,366893.710607,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,2291443.556971,3167882.958411,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,1804349.244125,481995.792041,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,11650229.648715,1101289.207239,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,8702412.752357,1116617.972427,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,2714748.572248,284462.787825,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.furymetashared_serialize_compatible","thrpt",1,3,1866073.031851,1521156.537508,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,220386.502846,60892.430853,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,192414.014211,34217.359956,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,367782.358049,54538.846197,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,329427.470680,530871.650379,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,258233.998931,145299.453488,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,260845.209485,90601.426407,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,56056.080075,3919.171009,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,60038.879790,6808.083631,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,220981.308085,153633.380796,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,211949.960255,231322.136517,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,372477.138150,39349.725456,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,353376.085025,11334.885856,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,266481.009225,113518.076189,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,261762.594966,64652.028148,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,55924.319442,28173.043405,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize","thrpt",1,3,56674.065604,2667.957614,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,234454.975158,5232.236462,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,206174.173039,54217.176504,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,377195.903772,33297.468886,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,351657.879556,10762.766962,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,258650.663523,64158.329095,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,263564.913879,101476.568014,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,58509.125342,10836.872797,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,55552.977735,37802.538138,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,194761.224263,8828.274695,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,212840.483308,50730.019909,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,371729.727192,136063.629978,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,343834.954942,13355.085558,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,249221.452137,261034.656030,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,263623.143601,32854.227410,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,58908.567439,4137.470432,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.hession_serialize_compatible","thrpt",1,3,55524.373547,668.406873,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,118374.836631,34704.407553,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,119858.140625,49308.850176,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,137989.198821,40017.148924,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,140260.668888,57308.595910,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,155908.244240,20385.278504,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,151258.539369,12676.385578,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,36846.049162,5491.880967,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,38183.705811,14778.659439,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,118273.584257,18950.629048,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,108263.040839,14982.910444,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,138567.623369,24365.255940,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,140158.673910,54416.908878,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,154875.908438,11984.781345,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,156404.686214,58131.602098,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,37444.967981,14948.012339,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.jdk_serialize","thrpt",1,3,35798.679246,36641.428549,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,1105365.931217,162251.803619,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,734215.482291,79297.387490,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,730792.521676,678674.266715,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,445251.084327,85646.179264,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,558194.100861,257156.321315,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,557542.628765,63084.390134,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,325172.969175,20774.334333,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,259863.332448,86373.633851,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,1376560.302168,147424.342310,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,932887.968348,249800.928765,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,608972.517580,249598.971835,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,359875.473951,274870.064607,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,1078046.011115,249527.480472,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,853350.408656,126642.692106,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,355688.882786,37587.645927,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize","thrpt",1,3,338960.426033,36185.446014,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,378907.663184,280309.649766,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,320815.567701,455179.720989,"ops/s",array,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,188911.259146,97827.317807,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,145782.916427,81270.905462,"ops/s",array,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,145964.199559,88578.667153,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,136180.832879,167433.069232,"ops/s",array,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,125807.748004,23178.451287,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,114983.546343,7341.380140,"ops/s",array,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,296102.615094,18485.738321,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,276757.392449,61173.636852,"ops/s",directBuffer,SAMPLE,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,185363.714829,121440.885632,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,142836.961878,12450.918452,"ops/s",directBuffer,MEDIA_CONTENT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,106695.800225,13463.570576,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,106458.212005,2994.065295,"ops/s",directBuffer,STRUCT,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,92130.672361,9515.661170,"ops/s",directBuffer,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.kryo_serialize_compatible","thrpt",1,3,88989.724768,9379.338279,"ops/s",directBuffer,STRUCT2,true
+"org.apache.fury.benchmark.UserTypeSerializeSuite.protostuff_serialize","thrpt",1,3,663272.710783,522116.492895,"ops/s",array,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.protostuff_serialize","thrpt",1,3,780618.761219,406063.945348,"ops/s",array,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.protostuff_serialize","thrpt",1,3,330975.350403,196475.862643,"ops/s",array,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.protostuff_serialize","thrpt",1,3,322563.440433,201276.713653,"ops/s",array,STRUCT2,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.protostuff_serialize","thrpt",1,3,693641.589806,43883.803566,"ops/s",directBuffer,SAMPLE,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.protostuff_serialize","thrpt",1,3,805941.345157,91281.699006,"ops/s",directBuffer,MEDIA_CONTENT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.protostuff_serialize","thrpt",1,3,340262.650047,152117.387028,"ops/s",directBuffer,STRUCT,false
+"org.apache.fury.benchmark.UserTypeSerializeSuite.protostuff_serialize","thrpt",1,3,325093.716261,56485.972228,"ops/s",directBuffer,STRUCT2,false
diff --git a/public/benchmarks/data/jmh-jdk-11-zerocopy.csv 
b/public/benchmarks/data/jmh-jdk-11-zerocopy.csv
new file mode 100644
index 0000000..76411f8
--- /dev/null
+++ b/public/benchmarks/data/jmh-jdk-11-zerocopy.csv
@@ -0,0 +1,73 @@
+"Benchmark","Mode","Threads","Samples","Score","Score Error 
(99.9%)","Unit","Param: array_size","Param: bufferType","Param: 
dataType","Param: references"
+"org.apache.fury.benchmark.ZeroCopySuite.fst_deserialize","thrpt",1,3,219333.990504,40075.312705,"ops/s",200,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_deserialize","thrpt",1,3,657754.887247,408901.031753,"ops/s",200,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_deserialize","thrpt",1,3,179604.045774,45387.509931,"ops/s",200,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_deserialize","thrpt",1,3,598421.278941,135411.381215,"ops/s",200,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_deserialize","thrpt",1,3,53100.903684,17709.358858,"ops/s",1000,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_deserialize","thrpt",1,3,422147.154601,528539.529166,"ops/s",1000,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_deserialize","thrpt",1,3,38572.001768,24685.893533,"ops/s",1000,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_deserialize","thrpt",1,3,298929.116572,135040.133488,"ops/s",1000,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_deserialize","thrpt",1,3,10672.872798,11519.184075,"ops/s",5000,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_deserialize","thrpt",1,3,136934.604328,19269.032565,"ops/s",5000,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_deserialize","thrpt",1,3,8561.694533,2137.867210,"ops/s",5000,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_deserialize","thrpt",1,3,77950.612503,83587.484192,"ops/s",5000,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_serialize","thrpt",1,3,313986.053417,29311.641179,"ops/s",200,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_serialize","thrpt",1,3,2400193.220466,242732.420524,"ops/s",200,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_serialize","thrpt",1,3,294132.218623,60640.778775,"ops/s",200,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_serialize","thrpt",1,3,2282550.111756,93004.652618,"ops/s",200,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_serialize","thrpt",1,3,67209.107012,5947.935958,"ops/s",1000,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_serialize","thrpt",1,3,1805557.477810,5232839.112456,"ops/s",1000,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_serialize","thrpt",1,3,66108.014322,16869.542536,"ops/s",1000,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_serialize","thrpt",1,3,1644789.427010,54907.475118,"ops/s",1000,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_serialize","thrpt",1,3,14997.400124,12425.308762,"ops/s",5000,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_serialize","thrpt",1,3,811029.402136,39593.863849,"ops/s",5000,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_serialize","thrpt",1,3,15000.378818,2219.583522,"ops/s",5000,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fst_serialize","thrpt",1,3,477148.540850,34970.176073,"ops/s",5000,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_deserialize","thrpt",1,3,986136.067809,274606.792449,"ops/s",200,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_deserialize","thrpt",1,3,3302149.383135,3166455.521704,"ops/s",200,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_deserialize","thrpt",1,3,991807.969328,296490.837932,"ops/s",200,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_deserialize","thrpt",1,3,3113115.471758,4861106.592529,"ops/s",200,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_deserialize","thrpt",1,3,205671.992736,127494.951753,"ops/s",1000,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_deserialize","thrpt",1,3,2831942.848999,1720214.698856,"ops/s",1000,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_deserialize","thrpt",1,3,202275.242341,56270.238293,"ops/s",1000,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_deserialize","thrpt",1,3,3397690.327371,146058.097383,"ops/s",1000,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_deserialize","thrpt",1,3,40312.590172,11836.614114,"ops/s",5000,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_deserialize","thrpt",1,3,3296658.120035,2199676.238015,"ops/s",5000,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_deserialize","thrpt",1,3,40413.743717,9893.735875,"ops/s",5000,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_deserialize","thrpt",1,3,3284441.570594,998247.999163,"ops/s",5000,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_serialize","thrpt",1,3,8297232.942927,6613235.386482,"ops/s",200,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_serialize","thrpt",1,3,5123572.914045,9342104.794019,"ops/s",200,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_serialize","thrpt",1,3,8335248.350301,2796789.944593,"ops/s",200,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_serialize","thrpt",1,3,5400346.890126,7654935.504676,"ops/s",200,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_serialize","thrpt",1,3,8772856.921028,1984208.178343,"ops/s",1000,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_serialize","thrpt",1,3,4979590.929127,5568756.926202,"ops/s",1000,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_serialize","thrpt",1,3,8207563.785251,4153794.222735,"ops/s",1000,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_serialize","thrpt",1,3,5376191.775007,9167580.616022,"ops/s",1000,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_serialize","thrpt",1,3,8027439.580226,6148996.477681,"ops/s",5000,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_serialize","thrpt",1,3,5018916.322770,1424045.598203,"ops/s",5000,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_serialize","thrpt",1,3,7695981.988316,578662.201123,"ops/s",5000,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.fury_serialize","thrpt",1,3,5330897.682960,8055585.038901,"ops/s",5000,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_deserialize","thrpt",1,3,146675.360652,23502.675233,"ops/s",200,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_deserialize","thrpt",1,3,1296284.787720,297204.673569,"ops/s",200,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_deserialize","thrpt",1,3,518713.299422,600548.228171,"ops/s",200,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_deserialize","thrpt",1,3,1004844.498712,552313.083272,"ops/s",200,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_deserialize","thrpt",1,3,30409.835023,9562.322209,"ops/s",1000,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_deserialize","thrpt",1,3,721266.541130,62426.822891,"ops/s",1000,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_deserialize","thrpt",1,3,112132.004609,6625.327605,"ops/s",1000,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_deserialize","thrpt",1,3,592972.713203,511777.226637,"ops/s",1000,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_deserialize","thrpt",1,3,6122.351228,3021.683209,"ops/s",5000,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_deserialize","thrpt",1,3,147251.846111,278375.379465,"ops/s",5000,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_deserialize","thrpt",1,3,21826.040410,2246.004993,"ops/s",5000,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_deserialize","thrpt",1,3,148614.476829,87146.409451,"ops/s",5000,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_serialize","thrpt",1,3,147342.606262,138864.952435,"ops/s",200,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_serialize","thrpt",1,3,1985187.977633,70426.638387,"ops/s",200,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_serialize","thrpt",1,3,972683.763633,604464.052899,"ops/s",200,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_serialize","thrpt",1,3,1739454.519770,1053963.541481,"ops/s",200,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_serialize","thrpt",1,3,31395.721514,3652.506399,"ops/s",1000,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_serialize","thrpt",1,3,1616159.671230,2722436.839807,"ops/s",1000,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_serialize","thrpt",1,3,209183.090868,25323.702489,"ops/s",1000,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_serialize","thrpt",1,3,1377272.568510,203974.331559,"ops/s",1000,directBuffer,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_serialize","thrpt",1,3,6248.006967,783.226602,"ops/s",5000,array,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_serialize","thrpt",1,3,711287.533377,86363.201941,"ops/s",5000,array,BUFFER,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_serialize","thrpt",1,3,43565.678616,4221.267495,"ops/s",5000,directBuffer,PRIMITIVE_ARRAY,false
+"org.apache.fury.benchmark.ZeroCopySuite.kryo_serialize","thrpt",1,3,707092.956534,298737.951680,"ops/s",5000,directBuffer,BUFFER,false
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_MEDIA_CONTENT_from_array_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_MEDIA_CONTENT_from_array_tps.png
new file mode 100644
index 0000000..82d1943
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_MEDIA_CONTENT_from_array_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_MEDIA_CONTENT_from_directBuffer_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_MEDIA_CONTENT_from_directBuffer_tps.png
new file mode 100644
index 0000000..04c84eb
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_MEDIA_CONTENT_from_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_SAMPLE_from_array_tps.png 
b/public/benchmarks/deserialization/bench_deserialize_SAMPLE_from_array_tps.png
new file mode 100644
index 0000000..edf0081
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_SAMPLE_from_array_tps.png 
differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_SAMPLE_from_directBuffer_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_SAMPLE_from_directBuffer_tps.png
new file mode 100644
index 0000000..38c2184
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_SAMPLE_from_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_STRUCT2_from_array_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_STRUCT2_from_array_tps.png
new file mode 100644
index 0000000..35f4780
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_STRUCT2_from_array_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_STRUCT2_from_directBuffer_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_STRUCT2_from_directBuffer_tps.png
new file mode 100644
index 0000000..459d1eb
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_STRUCT2_from_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_STRUCT_from_array_tps.png 
b/public/benchmarks/deserialization/bench_deserialize_STRUCT_from_array_tps.png
new file mode 100644
index 0000000..7e056fa
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_STRUCT_from_array_tps.png 
differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_STRUCT_from_directBuffer_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_STRUCT_from_directBuffer_tps.png
new file mode 100644
index 0000000..b7bb23a
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_STRUCT_from_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_compatible_MEDIA_CONTENT_from_array_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_compatible_MEDIA_CONTENT_from_array_tps.png
new file mode 100644
index 0000000..ecd62b9
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_compatible_MEDIA_CONTENT_from_array_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_compatible_MEDIA_CONTENT_from_directBuffer_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_compatible_MEDIA_CONTENT_from_directBuffer_tps.png
new file mode 100644
index 0000000..26f3223
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_compatible_MEDIA_CONTENT_from_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_compatible_SAMPLE_from_array_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_compatible_SAMPLE_from_array_tps.png
new file mode 100644
index 0000000..0769a8a
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_compatible_SAMPLE_from_array_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_compatible_SAMPLE_from_directBuffer_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_compatible_SAMPLE_from_directBuffer_tps.png
new file mode 100644
index 0000000..750e3d7
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_compatible_SAMPLE_from_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_compatible_STRUCT2_from_array_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_compatible_STRUCT2_from_array_tps.png
new file mode 100644
index 0000000..ba39620
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_compatible_STRUCT2_from_array_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_compatible_STRUCT2_from_directBuffer_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_compatible_STRUCT2_from_directBuffer_tps.png
new file mode 100644
index 0000000..1618e59
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_compatible_STRUCT2_from_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_compatible_STRUCT_from_array_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_compatible_STRUCT_from_array_tps.png
new file mode 100644
index 0000000..1c18213
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_compatible_STRUCT_from_array_tps.png
 differ
diff --git 
a/public/benchmarks/deserialization/bench_deserialize_compatible_STRUCT_from_directBuffer_tps.png
 
b/public/benchmarks/deserialization/bench_deserialize_compatible_STRUCT_from_directBuffer_tps.png
new file mode 100644
index 0000000..9730b06
Binary files /dev/null and 
b/public/benchmarks/deserialization/bench_deserialize_compatible_STRUCT_from_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_MEDIA_CONTENT_to_array_tps.png
 
b/public/benchmarks/serialization/bench_serialize_MEDIA_CONTENT_to_array_tps.png
new file mode 100644
index 0000000..c80d16e
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_MEDIA_CONTENT_to_array_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_MEDIA_CONTENT_to_directBuffer_tps.png
 
b/public/benchmarks/serialization/bench_serialize_MEDIA_CONTENT_to_directBuffer_tps.png
new file mode 100644
index 0000000..41f4860
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_MEDIA_CONTENT_to_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_SAMPLE_to_array_tps.png 
b/public/benchmarks/serialization/bench_serialize_SAMPLE_to_array_tps.png
new file mode 100644
index 0000000..4c7ca29
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_SAMPLE_to_array_tps.png differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_SAMPLE_to_directBuffer_tps.png
 
b/public/benchmarks/serialization/bench_serialize_SAMPLE_to_directBuffer_tps.png
new file mode 100644
index 0000000..a076c55
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_SAMPLE_to_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_STRUCT2_to_array_tps.png 
b/public/benchmarks/serialization/bench_serialize_STRUCT2_to_array_tps.png
new file mode 100644
index 0000000..f2f9b16
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_STRUCT2_to_array_tps.png 
differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_STRUCT2_to_directBuffer_tps.png
 
b/public/benchmarks/serialization/bench_serialize_STRUCT2_to_directBuffer_tps.png
new file mode 100644
index 0000000..6cbe8b6
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_STRUCT2_to_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_STRUCT_to_array_tps.png 
b/public/benchmarks/serialization/bench_serialize_STRUCT_to_array_tps.png
new file mode 100644
index 0000000..926d961
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_STRUCT_to_array_tps.png differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_STRUCT_to_directBuffer_tps.png
 
b/public/benchmarks/serialization/bench_serialize_STRUCT_to_directBuffer_tps.png
new file mode 100644
index 0000000..1076e4e
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_STRUCT_to_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_compatible_MEDIA_CONTENT_to_array_tps.png
 
b/public/benchmarks/serialization/bench_serialize_compatible_MEDIA_CONTENT_to_array_tps.png
new file mode 100644
index 0000000..72fd639
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_compatible_MEDIA_CONTENT_to_array_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_compatible_MEDIA_CONTENT_to_directBuffer_tps.png
 
b/public/benchmarks/serialization/bench_serialize_compatible_MEDIA_CONTENT_to_directBuffer_tps.png
new file mode 100644
index 0000000..8f81baa
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_compatible_MEDIA_CONTENT_to_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_compatible_SAMPLE_to_array_tps.png
 
b/public/benchmarks/serialization/bench_serialize_compatible_SAMPLE_to_array_tps.png
new file mode 100644
index 0000000..46e29fb
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_compatible_SAMPLE_to_array_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_compatible_SAMPLE_to_directBuffer_tps.png
 
b/public/benchmarks/serialization/bench_serialize_compatible_SAMPLE_to_directBuffer_tps.png
new file mode 100644
index 0000000..7f97825
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_compatible_SAMPLE_to_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_compatible_STRUCT2_to_array_tps.png
 
b/public/benchmarks/serialization/bench_serialize_compatible_STRUCT2_to_array_tps.png
new file mode 100644
index 0000000..9d1569b
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_compatible_STRUCT2_to_array_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_compatible_STRUCT2_to_directBuffer_tps.png
 
b/public/benchmarks/serialization/bench_serialize_compatible_STRUCT2_to_directBuffer_tps.png
new file mode 100644
index 0000000..f1c3445
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_compatible_STRUCT2_to_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_compatible_STRUCT_to_array_tps.png
 
b/public/benchmarks/serialization/bench_serialize_compatible_STRUCT_to_array_tps.png
new file mode 100644
index 0000000..b6380eb
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_compatible_STRUCT_to_array_tps.png
 differ
diff --git 
a/public/benchmarks/serialization/bench_serialize_compatible_STRUCT_to_directBuffer_tps.png
 
b/public/benchmarks/serialization/bench_serialize_compatible_STRUCT_to_directBuffer_tps.png
new file mode 100644
index 0000000..80b821d
Binary files /dev/null and 
b/public/benchmarks/serialization/bench_serialize_compatible_STRUCT_to_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/zerocopy/zero_copy_bench_deserialize_BUFFER_from_array_tps.png
 
b/public/benchmarks/zerocopy/zero_copy_bench_deserialize_BUFFER_from_array_tps.png
new file mode 100644
index 0000000..017877f
Binary files /dev/null and 
b/public/benchmarks/zerocopy/zero_copy_bench_deserialize_BUFFER_from_array_tps.png
 differ
diff --git 
a/public/benchmarks/zerocopy/zero_copy_bench_deserialize_BUFFER_from_directBuffer_tps.png
 
b/public/benchmarks/zerocopy/zero_copy_bench_deserialize_BUFFER_from_directBuffer_tps.png
new file mode 100644
index 0000000..5bb9dd3
Binary files /dev/null and 
b/public/benchmarks/zerocopy/zero_copy_bench_deserialize_BUFFER_from_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/zerocopy/zero_copy_bench_deserialize_PRIMITIVE_ARRAY_from_array_tps.png
 
b/public/benchmarks/zerocopy/zero_copy_bench_deserialize_PRIMITIVE_ARRAY_from_array_tps.png
new file mode 100644
index 0000000..5c909e0
Binary files /dev/null and 
b/public/benchmarks/zerocopy/zero_copy_bench_deserialize_PRIMITIVE_ARRAY_from_array_tps.png
 differ
diff --git 
a/public/benchmarks/zerocopy/zero_copy_bench_deserialize_PRIMITIVE_ARRAY_from_directBuffer_tps.png
 
b/public/benchmarks/zerocopy/zero_copy_bench_deserialize_PRIMITIVE_ARRAY_from_directBuffer_tps.png
new file mode 100644
index 0000000..925dcc2
Binary files /dev/null and 
b/public/benchmarks/zerocopy/zero_copy_bench_deserialize_PRIMITIVE_ARRAY_from_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/zerocopy/zero_copy_bench_serialize_BUFFER_to_array_tps.png 
b/public/benchmarks/zerocopy/zero_copy_bench_serialize_BUFFER_to_array_tps.png
new file mode 100644
index 0000000..30dc922
Binary files /dev/null and 
b/public/benchmarks/zerocopy/zero_copy_bench_serialize_BUFFER_to_array_tps.png 
differ
diff --git 
a/public/benchmarks/zerocopy/zero_copy_bench_serialize_BUFFER_to_directBuffer_tps.png
 
b/public/benchmarks/zerocopy/zero_copy_bench_serialize_BUFFER_to_directBuffer_tps.png
new file mode 100644
index 0000000..b151deb
Binary files /dev/null and 
b/public/benchmarks/zerocopy/zero_copy_bench_serialize_BUFFER_to_directBuffer_tps.png
 differ
diff --git 
a/public/benchmarks/zerocopy/zero_copy_bench_serialize_PRIMITIVE_ARRAY_to_array_tps.png
 
b/public/benchmarks/zerocopy/zero_copy_bench_serialize_PRIMITIVE_ARRAY_to_array_tps.png
new file mode 100644
index 0000000..ffcc36c
Binary files /dev/null and 
b/public/benchmarks/zerocopy/zero_copy_bench_serialize_PRIMITIVE_ARRAY_to_array_tps.png
 differ
diff --git 
a/public/benchmarks/zerocopy/zero_copy_bench_serialize_PRIMITIVE_ARRAY_to_directBuffer_tps.png
 
b/public/benchmarks/zerocopy/zero_copy_bench_serialize_PRIMITIVE_ARRAY_to_directBuffer_tps.png
new file mode 100644
index 0000000..6178d2c
Binary files /dev/null and 
b/public/benchmarks/zerocopy/zero_copy_bench_serialize_PRIMITIVE_ARRAY_to_directBuffer_tps.png
 differ


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org

Reply via email to