Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/daylily-zeleen/gus-godot-universal-serializer-2.0
A universal serializer, which target is size optimaize, for Godot 4.x.
https://github.com/daylily-zeleen/gus-godot-universal-serializer-2.0
encode godot godot-engine serialization serializer
Last synced: 3 months ago
JSON representation
A universal serializer, which target is size optimaize, for Godot 4.x.
- Host: GitHub
- URL: https://github.com/daylily-zeleen/gus-godot-universal-serializer-2.0
- Owner: Daylily-Zeleen
- License: mit
- Created: 2022-03-04T10:48:46.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-07T06:53:42.000Z (5 months ago)
- Last Synced: 2024-10-11T11:12:17.768Z (4 months ago)
- Topics: encode, godot, godot-engine, serialization, serializer
- Language: C++
- Homepage:
- Size: 28.6 MB
- Stars: 23
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GUS - Godot Universal Serializer 2 - Godot的通用序列化器2
![Image text](icon.png)
[中文文档](README_zh_cn.md) <- 点击这里。
A Godot's universal serializer for size optimization.
Support all data types except `Object`, `RID`, `Callable` and `Signal` in Godot 4.x.# Feature:
1. Without losing type information. Need not type detection and forced typce conversion in cross end transfer,just like local parameter transfer.
2. Integer are variable length serialization.
3. The serialized data size is smaller than JSON text to utf8 and the native serialization method `var_to_bytes()`.GUS is especially suitable for the serialization of structured small data transfer in multiplayer games.
4. GDExtension plugin, high performance.You can run the `EditorScript` which named `GUS_benchmark.gd` to view the contrast between `GUS`, `Native`, and `JSON`.
# How to use:
1. Pass variable which without `Object`, `OID`, `Callable`, `Signal` into `GUS.var_to_bytes()` and get the serialized data, than send to network peer.
2. After the remote network peer obtains the serialized data, passe it into `GUS.bytes_to_var()` to get the same variable as before serialization.# Be careful:
1. `Array` and `Dictionary` should not contain `Object`, `RID`, `Callable` and `Signal`.# How to compile:
1. Follow [offical tutorial](https://docs.godotengine.org/zh_CN/stable/development/compiling/index.html) to set up you develop enviroment.
2. Clone this repository (with submodule).
3. You must generate bindings and build library of `godot-cpp` at least once.
- You can use generate and build manully by steps below:
a. Navigate to `godot-cpp` folder.
b. Run command:
```
scons generate_bindings=yes build_library=yes
```
c. Now you can add `generate_bindings=no build_library=no` at next stage to avoid generate bindings and build library every time when compiling `GUS`.- (Recommand) Generate bindings and build library every time when compiling `GUS`, to keep the compiling condition of `godot-cpp` same as `GUS`.
Just skip this stage and add `generate_bindings=yes build_library=yes` or ignore these command arguments.
Don't worry, generate bindings and build library of `godot-cpp` would not take many time if the compile conditions have not change.
4. Here is a little different from `godot-cpp` to compile `GUS` (of course, you can use `scons` to compile, too).
To do some post process, I use a tool script to compile `GUS`.
Navigate to root folder, run command as below to compile `GUS`:
```
python build.py
```You can add arguments like to build `godot-cpp` at this stage.
To learn more arguments detail, run this command.
```
python build.py -h
```**Specially**:
- If you not specify the argument `target`, this tool will build both `target=template_debug` and `target=template_release`.
- If you add argument `dev_build`, this tool will copy and rename the built shared libraries to `dist` folder with replacing `.dev.` to `.` (in order to avoid edit `gus2.gdextension`).5. Now, you can get the addon which be located at `dist`.
**Notice**:
- If your use `scons` instead of `python build_tool`, you can only get dynamic library at `bin` folder.
- If build for `macos`, its binaries will generate at `dist` directly.## Others
If this plugin can help you, please consider to [buy me a coffee](https://afdian.com/a/Daylily-Zeleen).
# Benchmark 2.2.0:
```
null - value:
[GUS]: 1 bytes ser 4 usec deser 1 usec
[Native]: 4 bytes ser 1 usec deser 2 usec
[JSON]: 4 bytes ser 5 usec deser 3 usecbool - value:true
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 1 usec
[JSON]: 4 bytes ser 3 usec deser 2 usecbool - value:false
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 1 usec
[JSON]: 5 bytes ser 3 usec deser 2 usecint1 - value:122
[GUS]: 3 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 1 usec
[JSON]: 3 bytes ser 3 usec deser 1 usecint2 - value:23611
[GUS]: 4 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 1 usec
[JSON]: 5 bytes ser 4 usec deser 1 usecint3 - value:-8016784
[GUS]: 5 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 1 usec
[JSON]: 8 bytes ser 30 usec deser 1 usecint4 - value:1783875844
[GUS]: 6 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 0 usec
[JSON]: 10 bytes ser 3 usec deser 1 usecint5 - value:-533449183297
[GUS]: 7 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 13 bytes ser 3 usec deser 1 usecint6 - value:99315901321300
[GUS]: 8 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 0 usec deser 0 usec
[JSON]: 14 bytes ser 3 usec deser 1 usecint7 - value:17047537962766401
[GUS]: 9 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 17 bytes ser 6 usec deser 1 usecint8 - value:-8838969341549745360
[GUS]: 11 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 0 usec deser 0 usec
[JSON]: 20 bytes ser 3 usec deser 2 usecfloat - value:-105.0532
[GUS]: 9 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 9 bytes ser 10 usec deser 1 usecString - value:test 测试
[GUS]: 13 bytes ser 4 usec deser 2 usec
[Native]: 20 bytes ser 1 usec deser 1 usec
[JSON]: 13 bytes ser 5 usec deser 2 usecStringName - value:TestStringName
[GUS]: 16 bytes ser 5 usec deser 2 usec
[Native]: 24 bytes ser 1 usec deser 2 usec
[JSON]: 16 bytes ser 20 usec deser 2 usecVector2 - value:(-423, 46.8005)
[GUS]: 9 bytes ser 1 usec deser 0 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 17 bytes ser 9 usec deser 2 usecVector2i - value:(-423, 23611)
[GUS]: 9 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 15 bytes ser 7 usec deser 2 usecVector3 - value:(52011, -541.3327, 77441)
[GUS]: 13 bytes ser 1 usec deser 0 usec
[Native]: 16 bytes ser 1 usec deser 1 usec
[JSON]: 27 bytes ser 11 usec deser 3 usecVector3i - value:(-423, 23611, 52011)
[GUS]: 13 bytes ser 2 usec deser 0 usec
[Native]: 16 bytes ser 0 usec deser 1 usec
[JSON]: 22 bytes ser 7 usec deser 2 usecVector4 - value:(5211, -541.327, 7441, 1.23)
[GUS]: 17 bytes ser 2 usec deser 1 usec
[Native]: 20 bytes ser 1 usec deser 1 usec
[JSON]: 30 bytes ser 12 usec deser 2 usecVector4i - value:(-42, 49947, 5211, 445)
[GUS]: 17 bytes ser 2 usec deser 1 usec
[Native]: 20 bytes ser 1 usec deser 1 usec
[JSON]: 25 bytes ser 8 usec deser 2 usecProjection - value:
8740.2373046875, 0, 0, 0
0, 441.044006347656, 0, 0
0, 0, 1, 0
56.6220016479492, -77.8499984741211, 0, 1
[GUS]: 65 bytes ser 2 usec deser 1 usec
[Native]: 68 bytes ser 1 usec deser 1 usec
[JSON]: 110 bytes ser 40 usec deser 28 usecRect2 - value:[P: (56.622, -77.85), S: (8740.237, 441.044)]
[GUS]: 17 bytes ser 2 usec deser 0 usec
[Native]: 20 bytes ser 1 usec deser 1 usec
[JSON]: 47 bytes ser 15 usec deser 3 usecRect2i - value:[P: (-495747255, 323484462), S: (1855859115, 474812983)]
[GUS]: 17 bytes ser 1 usec deser 1 usec
[Native]: 20 bytes ser 1 usec deser 1 usec
[JSON]: 58 bytes ser 11 usec deser 2 usecTransform2D - value:[X: (1, 0), Y: (0, -1), O: (513, 88.5)]
[GUS]: 25 bytes ser 2 usec deser 1 usec
[Native]: 28 bytes ser 1 usec deser 1 usec
[JSON]: 41 bytes ser 13 usec deser 3 usecPlane - value:[N: (-0.022075, 0.354495, 0.934797), D: 0.301078]
[GUS]: 17 bytes ser 2 usec deser 1 usec
[Native]: 20 bytes ser 1 usec deser 1 usec
[JSON]: 51 bytes ser 30 usec deser 3 usecQuaternion - value:(-54.55, 876, 2310, 744)
[GUS]: 17 bytes ser 15 usec deser 1 usec
[Native]: 20 bytes ser 1 usec deser 1 usec
[JSON]: 26 bytes ser 13 usec deser 3 usecAABB - value:[P: (-77.85, 8740.237, 441.044), S: (105, 50, 68)]
[GUS]: 25 bytes ser 2 usec deser 1 usec
[Native]: 28 bytes ser 1 usec deser 1 usec
[JSON]: 52 bytes ser 14 usec deser 3 usecBasis - value:[X: (1, 0, 0), Y: (0, -1, 0), Z: (0, 0, 1)]
[GUS]: 37 bytes ser 2 usec deser 1 usec
[Native]: 40 bytes ser 1 usec deser 1 usec
[JSON]: 45 bytes ser 13 usec deser 2 usecTransform3D - value:[X: (1, 0, 0), Y: (0, -1, 0), Z: (0, 0, 1), O: (513, -88.5, 105)]
[GUS]: 49 bytes ser 2 usec deser 1 usec
[Native]: 52 bytes ser 1 usec deser 1 usec
[JSON]: 67 bytes ser 16 usec deser 3 usecColor - value:(1, 1, 1, 1)
[GUS]: 33 bytes ser 2 usec deser 1 usec
[Native]: 20 bytes ser 1 usec deser 1 usec
[JSON]: 14 bytes ser 25 usec deser 1 usecNodePath - value:/root/@EditorNode@16886/@Panel@13
[GUS]: 35 bytes ser 5 usec deser 4 usec
[Native]: 64 bytes ser 3 usec deser 3 usec
[JSON]: 35 bytes ser 7 usec deser 3 usecArray - value:[574, -21, (-423, 46.8005), (0, 1, 1, 1), "acxx"]
[GUS]: 62 bytes ser 8 usec deser 6 usec
[Native]: 68 bytes ser 3 usec deser 5 usec
[JSON]: 49 bytes ser 60 usec deser 7 usecDictionary - value:{ "k_str": "value1", "k_color": (0.9412, 0.9725, 1, 1), "k_int": 123123, "k_float": 44.886, "k_vec3": (52011, -541.3327, 77441), 532: [574, -21, (-423, 46.8005), (0, 1, 1, 1), "acxx"] }
[GUS]: 174 bytes ser 17 usec deser 7 usec
[Native]: 236 bytes ser 7 usec deser 6 usec
[JSON]: 178 bytes ser 45 usec deser 12 usecEmpty Array - value:[]
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 2 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Dictionary - value:{ }
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 5 usec deser 1 usecEmpty PackedByteArray - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 1 usec
[JSON]: 4 bytes ser 5 usec deser 1 usecEmpty PackedInt32Array - Size:0
[GUS]: 1 bytes ser 3 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 4 usec deser 1 usecEmpty PackedInt64Array - Size:0
[GUS]: 1 bytes ser 3 usec deser 0 usec
[Native]: 8 bytes ser 0 usec deser 2 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty PackedFloat32Array - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 2 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty PackedFloat64Array - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 2 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty PackedStringArray - Size:0
[GUS]: 1 bytes ser 2 usec deser 0 usec
[Native]: 8 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty PackedVector2Array - Size:0
[GUS]: 1 bytes ser 2 usec deser 0 usec
[Native]: 8 bytes ser 1 usec deser 1 usec
[JSON]: 4 bytes ser 5 usec deser 1 usecEmpty PackedVector3Array - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 1 usec
[JSON]: 4 bytes ser 5 usec deser 1 usecEmpty PackedVector4Array - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 0 usec deser 1 usec
[JSON]: 4 bytes ser 4 usec deser 2 usecEmpty PackedColorArray - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 8 bytes ser 1 usec deser 1 usec
[JSON]: 4 bytes ser 5 usec deser 1 usecPackedByteArray - Size:4096
[GUS]: 4099 bytes ser 5 usec deser 2 usec
[Native]: 4104 bytes ser 1 usec deser 4 usec
[JSON]: 18695 bytes ser 890 usec deser 286 usecPackedInt32Array - Size:4096
[GUS]: 16387 bytes ser 8 usec deser 3 usec
[Native]: 16392 bytes ser 9 usec deser 14 usec
[JSON]: 44955 bytes ser 2028 usec deser 389 usecPackedInt64Array - Size:4096
[GUS]: 32771 bytes ser 9 usec deser 4 usec
[Native]: 32776 bytes ser 14 usec deser 23 usec
[JSON]: 81571 bytes ser 3407 usec deser 562 usecPackedFloat32Array - Size:4096
[GUS]: 16387 bytes ser 10 usec deser 4 usec
[Native]: 16392 bytes ser 9 usec deser 15 usec
[JSON]: 73718 bytes ser 4150 usec deser 529 usecPackedFloat64Array - Size:4096
[GUS]: 32771 bytes ser 9 usec deser 5 usec
[Native]: 32776 bytes ser 13 usec deser 22 usec
[JSON]: 80128 bytes ser 5368 usec deser 474 usecPackedStringArray - Size:4096
[GUS]: 23472 bytes ser 2895 usec deser 418 usec
[Native]: 48764 bytes ser 988 usec deser 600 usec
[JSON]: 31662 bytes ser 3788 usec deser 1740 usecPackedVector2Array - Size:4096
[GUS]: 32771 bytes ser 10 usec deser 5 usec
[Native]: 32776 bytes ser 17 usec deser 31 usec
[JSON]: 89182 bytes ser 9463 usec deser 1346 usecPackedVector3Array - Size:4096
[GUS]: 49155 bytes ser 17 usec deser 11 usec
[Native]: 49160 bytes ser 26 usec deser 40 usec
[JSON]: 129652 bytes ser 13254 usec deser 1829 usecPackedVector4Array - Size:4096
[GUS]: 65539 bytes ser 14 usec deser 7 usec
[Native]: 65544 bytes ser 35 usec deser 46 usec
[JSON]: 170203 bytes ser 18130 usec deser 2678 usecPackedColorArray - Size:4096
[GUS]: 65539 bytes ser 12 usec deser 7 usec
[Native]: 65544 bytes ser 33 usec deser 46 usec
[JSON]: 137407 bytes ser 15698 usec deser 2166 usecEmpty Array[bool] - Size:0
[GUS]: 1 bytes ser 6 usec deser 3 usec
[Native]: 12 bytes ser 1 usec deser 3 usec
[JSON]: 2 bytes ser 5 usec deser 3 usecEmpty Array[int] - Size:0
[GUS]: 1 bytes ser 2 usec deser 2 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 2 usecEmpty Array[float] - Size:0
[GUS]: 1 bytes ser 2 usec deser 2 usec
[Native]: 12 bytes ser 1 usec deser 2 usec
[JSON]: 2 bytes ser 3 usec deser 2 usecEmpty Array[String] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 2 usec deser 2 usecEmpty Array[StringName] - Size:0
[GUS]: 1 bytes ser 3 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 2 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[Vector2] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[Vector2i] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[Vector3] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 2 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[Vector3i] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 2 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[Vector4] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[Vector4i] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 2 usecEmpty Array[Projection] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 2 usec deser 1 usecEmpty Array[Rect2] - Size:0
[GUS]: 1 bytes ser 2 usec deser 2 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[Rect2i] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 2 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 2 usecEmpty Array[Transform2D] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[Plane] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 2 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[Quaternion] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[AABB] - Size:0
[GUS]: 1 bytes ser 2 usec deser 2 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[Basis] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[Transform3D] - Size:0
[GUS]: 1 bytes ser 3 usec deser 2 usec
[Native]: 12 bytes ser 2 usec deser 3 usec
[JSON]: 2 bytes ser 4 usec deser 2 usecEmpty Array[Color] - Size:0
[GUS]: 1 bytes ser 2 usec deser 2 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[NodePath] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 2 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[Array] - Size:0
[GUS]: 1 bytes ser 2 usec deser 2 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 29 usecEmpty Array[Dictionary] - Size:0
[GUS]: 1 bytes ser 2 usec deser 2 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[PackedByteArray] - Size:0
[GUS]: 1 bytes ser 2 usec deser 2 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 4 usec deser 1 usecEmpty Array[PackedInt32Array] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 2 usec
[JSON]: 2 bytes ser 3 usec deser 2 usecEmpty Array[PackedInt64Array] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 2 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[PackedFloat32Array] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 2 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[PackedFloat64Array] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 2 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 2 usecEmpty Array[PackedStringArray] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[PackedVector2Array] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 2 usec deser 1 usecEmpty Array[PackedVector3Array] - Size:0
[GUS]: 1 bytes ser 1 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 2 usec deser 2 usecEmpty Array[PackedVector4Array] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 1 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecEmpty Array[PackedColorArray] - Size:0
[GUS]: 1 bytes ser 2 usec deser 1 usec
[Native]: 12 bytes ser 1 usec deser 2 usec
[JSON]: 2 bytes ser 3 usec deser 1 usecArray[bool] - Size:4096
[GUS]: 4099 bytes ser 33 usec deser 114 usec
[Native]: 32780 bytes ser 58 usec deser 210 usec
[JSON]: 22551 bytes ser 984 usec deser 1644 usecArray[int] - Size:4096
[GUS]: 20348 bytes ser 92 usec deser 146 usec
[Native]: 41088 bytes ser 109 usec deser 183 usec
[JSON]: 43977 bytes ser 2496 usec deser 336 usecArray[float] - Size:4096
[GUS]: 32771 bytes ser 47 usec deser 143 usec
[Native]: 49164 bytes ser 79 usec deser 179 usec
[JSON]: 71202 bytes ser 4660 usec deser 468 usecArray[String] - Size:4096
[GUS]: 60336 bytes ser 3188 usec deser 837 usec
[Native]: 97920 bytes ser 1171 usec deser 988 usec
[JSON]: 68526 bytes ser 3977 usec deser 2668 usecArray[StringName] - Size:4096
[GUS]: 80816 bytes ser 3742 usec deser 1328 usec
[Native]: 114664 bytes ser 1273 usec deser 1371 usec
[JSON]: 89006 bytes ser 3939 usec deser 3662 usecArray[Vector2] - Size:4096
[GUS]: 32771 bytes ser 72 usec deser 142 usec
[Native]: 49164 bytes ser 67 usec deser 187 usec
[JSON]: 108976 bytes ser 8969 usec deser 3717 usecArray[Vector2i] - Size:4096
[GUS]: 32771 bytes ser 69 usec deser 144 usec
[Native]: 49164 bytes ser 68 usec deser 181 usec
[JSON]: 110456 bytes ser 9709 usec deser 3760 usecArray[Vector3] - Size:4096
[GUS]: 49155 bytes ser 67 usec deser 144 usec
[Native]: 65548 bytes ser 80 usec deser 194 usec
[JSON]: 157311 bytes ser 12737 usec deser 4907 usecArray[Vector3i] - Size:4096
[GUS]: 49155 bytes ser 71 usec deser 146 usec
[Native]: 65548 bytes ser 78 usec deser 195 usec
[JSON]: 159468 bytes ser 12224 usec deser 4942 usecArray[Vector4] - Size:4096
[GUS]: 65539 bytes ser 80 usec deser 143 usec
[Native]: 81932 bytes ser 83 usec deser 201 usec
[JSON]: 205795 bytes ser 15415 usec deser 5652 usecArray[Vector4i] - Size:4096
[GUS]: 65539 bytes ser 79 usec deser 152 usec
[Native]: 81932 bytes ser 79 usec deser 202 usec
[JSON]: 208572 bytes ser 15012 usec deser 5801 usecArray[Projection] - Size:4096
[GUS]: 262147 bytes ser 173 usec deser 348 usec
[Native]: 278540 bytes ser 88 usec deser 643 usec
[JSON]: 787250 bytes ser 91675 usec deser 14968 usecArray[Rect2] - Size:4096
[GUS]: 65539 bytes ser 62 usec deser 143 usec
[Native]: 81932 bytes ser 78 usec deser 199 usec
[JSON]: 246778 bytes ser 18537 usec deser 6139 usecArray[Rect2i] - Size:4096
[GUS]: 65539 bytes ser 64 usec deser 157 usec
[Native]: 81932 bytes ser 81 usec deser 205 usec
[JSON]: 249525 bytes ser 18878 usec deser 6342 usecArray[Transform2D] - Size:4096
[GUS]: 98307 bytes ser 85 usec deser 312 usec
[Native]: 114700 bytes ser 64 usec deser 517 usec
[JSON]: 363715 bytes ser 26511 usec deser 8389 usecArray[Plane] - Size:4096
[GUS]: 65539 bytes ser 63 usec deser 147 usec
[Native]: 81932 bytes ser 75 usec deser 201 usec
[JSON]: 238430 bytes ser 16990 usec deser 6046 usecArray[Quaternion] - Size:4096
[GUS]: 65539 bytes ser 66 usec deser 144 usec
[Native]: 81932 bytes ser 77 usec deser 206 usec
[JSON]: 133186 bytes ser 13225 usec deser 4151 usecArray[AABB] - Size:4096
[GUS]: 98307 bytes ser 91 usec deser 317 usec
[Native]: 114700 bytes ser 91 usec deser 527 usec
[JSON]: 343170 bytes ser 26878 usec deser 7971 usecArray[Basis] - Size:4096
[GUS]: 147459 bytes ser 121 usec deser 322 usec
[Native]: 163852 bytes ser 69 usec deser 558 usec
[JSON]: 325096 bytes ser 35881 usec deser 8314 usecArray[Transform3D] - Size:4096
[GUS]: 196611 bytes ser 163 usec deser 328 usec
[Native]: 213004 bytes ser 87 usec deser 596 usec
[JSON]: 674187 bytes ser 47383 usec deser 13641 usecArray[Color] - Size:4096
[GUS]: 65539 bytes ser 83 usec deser 145 usec
[Native]: 81932 bytes ser 78 usec deser 200 usec
[JSON]: 140842 bytes ser 18388 usec deser 4508 usecArray[NodePath] - Size:4096
[GUS]: 139267 bytes ser 7720 usec deser 4620 usec
[Native]: 262156 bytes ser 4442 usec deser 4665 usec
[JSON]: 147457 bytes ser 7161 usec deser 4762 usecArray[Array] - Size:4096
[GUS]: 188115 bytes ser 13756 usec deser 5799 usec
[Native]: 319164 bytes ser 6413 usec deser 5254 usec
[JSON]: 388614 bytes ser 42421 usec deser 12610 usecArray[Dictionary] - Size:4096
[GUS]: 224920 bytes ser 16998 usec deser 6697 usec
[Native]: 401012 bytes ser 8713 usec deser 6562 usec
[JSON]: 500670 bytes ser 51079 usec deser 19330 usecArray[PackedByteArray] - Size:4096
[GUS]: 20467 bytes ser 346 usec deser 1047 usec
[Native]: 49148 bytes ser 188 usec deser 800 usec
[JSON]: 87180 bytes ser 8138 usec deser 3279 usecArray[PackedInt32Array] - Size:4096
[GUS]: 135043 bytes ser 968 usec deser 1023 usec
[Native]: 98252 bytes ser 236 usec deser 841 usec
[JSON]: 187799 bytes ser 13042 usec deser 3384 usecArray[PackedInt64Array] - Size:4096
[GUS]: 167779 bytes ser 702 usec deser 1160 usec
[Native]: 196460 bytes ser 293 usec deser 1023 usec
[JSON]: 416358 bytes ser 20462 usec deser 4530 usecArray[PackedFloat32Array] - Size:4096
[GUS]: 85939 bytes ser 755 usec deser 1160 usec
[Native]: 114620 bytes ser 383 usec deser 951 usec
[JSON]: 229848 bytes ser 28507 usec deser 3958 usecArray[PackedFloat64Array] - Size:4096
[GUS]: 167779 bytes ser 725 usec deser 1168 usec
[Native]: 196460 bytes ser 297 usec deser 1041 usec
[JSON]: 399132 bytes ser 31626 usec deser 4510 usecArray[PackedStringArray] - Size:4096
[GUS]: 73663 bytes ser 8261 usec deser 2041 usec
[Native]: 196460 bytes ser 2526 usec deser 2817 usec
[JSON]: 110497 bytes ser 18976 usec deser 6421 usecArray[PackedVector2Array] - Size:4096
[GUS]: 135043 bytes ser 648 usec deser 1098 usec
[Native]: 163724 bytes ser 292 usec deser 1047 usec
[JSON]: 431435 bytes ser 29954 usec deser 9408 usecArray[PackedVector3Array] - Size:4096
[GUS]: 200515 bytes ser 775 usec deser 1165 usec
[Native]: 229196 bytes ser 327 usec deser 1069 usec
[JSON]: 624610 bytes ser 42741 usec deser 12976 usecArray[PackedVector4Array] - Size:4096
[GUS]: 265987 bytes ser 876 usec deser 1052 usec
[Native]: 294668 bytes ser 419 usec deser 1095 usec
[JSON]: 817512 bytes ser 52371 usec deser 16088 usecArray[PackedColorArray] - Size:4096
[GUS]: 331459 bytes ser 830 usec deser 1172 usec
[Native]: 360140 bytes ser 386 usec deser 1089 usec
[JSON]: 698858 bytes ser 82079 usec deser 15118 usec
```