English doc <- click here。
为序列化尺寸优化而构建的 Godot 4.x 通用序列化器。
支持除了 Object
、 RID
、 Callable
以及 Signal
以外的 Godot4.x 的所有内建数据类型。
- 不丢失类型信息。在跨端传送时不需要类型检测和类型强制转换,就像本地传参一般。
- 整形是变长序列化。
- 相比 Godot 的原生序列化方法
var_to_bytes()
和转换成JSON
再转UTF8
数据,GUS
的序列化后数据尺寸有显著的减少。尤其适用于多人游戏中需要传输的小型数据结构的序列化。 - 多数情况下效率甚至比原生序列化更高。
GDExtension
插件,具有较高的性能。
可以通过运行名为GUS_benchmark.gd
的编辑器脚本来查看 GUS
、Native
以及 JSON
这三种方式的剧烈话反序列化测试对比。
- 传递不包含
Object
、OID
、Callable
以及Signal
的变量给GUS.var_to_bytes()
并获取序列化后数据,然后发送给其他网络对等体。 - 远端的网络对等体获取到序列化后数据,传递给
GUS.bytes_to_var()
,即可获得与序列化前相同的变量。
Array
和Dictionary
不能包含Object
、RID
、Callable
以及Signal
。
-
根据官方文档搭建你的编译环境。
-
克隆这个仓库(以递归方式克隆,以包含子模块)。
-
你必须至少生成一次
godot-cpp
的绑定,并且至少构建一次它的库。-
你可以手动生成并构建: a. 导航到
godot-cpp
文件夹。 b. 运行以下命令。scons generate_bindings=yes build_library=yes
c. 完成以后,您需要在下个步骤的命令中添加参数
generate_bindings=no build_library=no
来避免重复构建GUS
时重复生成godot-cpp
的绑定与godot-cpp
的库。 -
(推荐方式)在每次构建
GUS
时重复生成godot-cpp
的绑定与构建其库,直接跳该步骤,在下个步骤的命令中添加参数generate_bindings=yes build_library=yes
来显式要求该操作,或忽略这些参数以默认方式工作。 别担心,只要编译条件没有变化,重复生成与构建不会占用您太多时间。
-
-
编译
GUS
与编译godot-cpp
有一点小区别(当然你也可以继续使用scons
命令进行构建),为了执行一些后处理,我使用一个简单的工具脚本进行编译: 导航到根目录,运行以下命令python build.py
你可以像在编译
godot-cpp
一样对改命令添加其他参数。 你可以使用以下命令来查看更多参数详情:python build.py -h
特别的:
- 如果你没有明确
taget
参数,该脚本工具会同时编译target=template_debug
和 - target=template_release`两种版本。 - 如果添加了
dev_build=yes
参数,将在后处理复制二进制文件步骤中将该库文件名的``.dev.替换为
.`供测试使用,避免修改`gus2.gdextension`文件。
- 如果你没有明确
-
现在,你可以在
dist
获得该插件。注意: 如果你使用
scons
命令进行编译,你只能在bin
文件夹下得到编译好的动态库,如果为macsos
构建,其二进制文件将直接于dist
目录下生成。
如果这个插件能帮到你还请考虑为我充电以支持我的开源活动。
null - value:<null>
[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 usec
bool - 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 usec
bool - 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 usec
int1 - 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 usec
int2 - 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 usec
int3 - 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 usec
int4 - 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 usec
int5 - 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 usec
int6 - 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 usec
int7 - 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 usec
int8 - 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 usec
float - 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 usec
String - 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 usec
StringName - 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 usec
Vector2 - 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 usec
Vector2i - 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 usec
Vector3 - 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 usec
Vector3i - 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 usec
Vector4 - 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 usec
Vector4i - 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 usec
Projection - 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 usec
Rect2 - 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 usec
Rect2i - 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 usec
Transform2D - 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 usec
Plane - 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 usec
Quaternion - 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 usec
AABB - 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 usec
Basis - 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 usec
Transform3D - 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 usec
Color - 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 usec
NodePath - 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 usec
Array - 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 usec
Dictionary - 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
PackedByteArray - 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 usec
PackedInt32Array - 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 usec
PackedInt64Array - 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 usec
PackedFloat32Array - 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 usec
PackedFloat64Array - 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 usec
PackedStringArray - 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 usec
PackedVector2Array - 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 usec
PackedVector3Array - 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 usec
PackedVector4Array - 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 usec
PackedColorArray - 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Empty 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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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 usec
Array[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