-
Notifications
You must be signed in to change notification settings - Fork 16
/
serialization_formats.summary.txt
56 lines (51 loc) · 4.7 KB
/
serialization_formats.summary.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
SERIALIZATION_FORMATS
COMPARISON ==> #Table-like:
# - based on CSV:
# - CSV (prefered): standard, widely used, simplistic
# - TSV: tab delimiter
# - DSV: any delimiter
# - Excel: featureful (e.g. formatting), proprietary
#Tree:
# - simplistic:
# - INI: simplistic, but very few features and not standardized
# - TOML (prefered): simple and human-friendly, not fit for complex data
# - based on JSON:
# - JSON (preferred): standard, widely used, simple, fast
# - HJSON (preferred): adds comments, unquoted VAR|STR, no|trailing commas,
# multiline string, NaN|Inf, DATE, custom types
# Compared with JSON5:
# - more featureful, better quality, different programming languages
# - less JavaScript-looking, slower, less maintained, less high-profile
# - JSONC (preferred): add comments, trailing commas
# - JSON5: adds ES5 syntax, i.e. comments, unquoted VAR, trailing commas,
# multiline string, NaN|Inf
# - CSON (avoid): adds CoffeeScript syntax, i.e. indentation, comments, unquoted VAR,
# no commas, multiline string
# - ESON (not maintained): interesting concept of pluggable special types for
# human-friendly types (time, dimensions, includes, ENVVAR|args)
# - type-rich:
# - YAML (prefered): featureful, human-friendly, many types, references
# - schemaful:
# - XML: very featureful for query|transformation, strongly typed, very complex
# - memory-efficient:
# - protobuf: separate definition and serialization, schemaful
PERFORMANCE ==> #This is based on the currently documented implementations, and in a JavaScript environment
#Fast:
# - JSON:
# - fastest, used as unit here
# - 1ms to parse|stringify small file
# - XML: around same as JSON, although JSON much faster in JavaScript environment
#Normal:
# - JSON5:
# - 4 time slower on parse|stringify
# - slower when parsing big files
# - YAML: 4-6 times slower on parse, 10-15 times on stringify, depending on schema used
# - HJSON:
# - 8 time slower on parse|stringify
# - slower at serializing small files
# - INI: 8 time slower on parse|stringify
#Slow:
# - TOML: 100 times slower on parse|stringify
# - CSON: 500 times slower on parse, 6 on stringify