Currently Codable uses description which is a String with radix 10.
Following options may be better:
String with radix 32
β human readable - just like current format; not sure if we care about this property
β much shorter in transport - though it may compress a bit worse
β faster to encode/decode - though the current implementation is slow
Binary - just an array of UInt32 with sign
β not human readable
β ultra compact
β ultra fast to encode/decode
We need to remember that BigInt can get really big. In [BigInt tests] π Init from float 754 we operate on integers that have 3000 digits with 32 radix. With radix 10 they would be much longer.
Please read the #242 Using tests from βViolet - Python VM written in Swiftβ before.
π° Discussion
Currently
Codable
usesdescription
which is aString
with radix 10.Following options may be better:
UInt32
with signWe need to remember that
BigInt
can get really big. In [BigInt tests] π Init from float 754 we operate on integers that have 3000 digits with 32 radix. With radix 10 they would be much longer.