summaryrefslogtreecommitdiff
path: root/Protocol Buffers - protobuf.dev.md
diff options
context:
space:
mode:
Diffstat (limited to 'Protocol Buffers - protobuf.dev.md')
-rw-r--r--Protocol Buffers - protobuf.dev.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/Protocol Buffers - protobuf.dev.md b/Protocol Buffers - protobuf.dev.md
new file mode 100644
index 0000000..9bd83c6
--- /dev/null
+++ b/Protocol Buffers - protobuf.dev.md
@@ -0,0 +1,20 @@
+Protocol buffer messages are often loaded in to memory completely. So large data is not a good fit. Usually not more than a few MBs.
+
+The same data can have many different forms of binary serialization when it is serialized, therefore serialized data (messages) cannot be compared.
+
+Messages are not compressed. They can be compresses with zip/gzip but to obtain maximum compression use specialized compression algorithms such as ones used by JPEG/PNG.
+
+Protocol buffers are not maximally efficient for large multi-dimensional arrays or floating point numbers.
+
+Not well supported in non-object oriented languages.
+
+Protocol buffer messages require their schema to be interpreted correctly.
+
+
+---
+
+# Workflow
+1. Write .proto schema
+2. Generate code using `protoc` compiler
+3. Compile generated protobuf code together with project
+4. Use Protobuff classes to serialize, share and deserialize data \ No newline at end of file