summaryrefslogtreecommitdiff
path: root/Protocol Buffers - protobuf.dev.md
diff options
context:
space:
mode:
authorJasper Ras <jaspert.ras@gmail.com>2025-07-15 20:32:57 +0200
committerJasper Ras <jaspert.ras@gmail.com>2025-07-15 20:32:57 +0200
commit04db4c941799bfbfac666160e7b4298716649a7f (patch)
tree92d0b2eb502d394cc10e2b38bfa16a817b67eca8 /Protocol Buffers - protobuf.dev.md
parentfbb81e5f2c5542d86ffbb0cb8e05ce2640ed65de (diff)
vault backup: 2025-07-15 20:32:57
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