summaryrefslogtreecommitdiff
path: root/Protocol Buffers - protobuf.dev.md
diff options
context:
space:
mode:
authorJasper Ras <jras@hostnet.nl>2025-07-30 10:37:52 +0200
committerJasper Ras <jras@hostnet.nl>2025-07-30 10:37:52 +0200
commit260eef7f245f62bb03e463d749520c83861dcf42 (patch)
treeb6082e236e47f0db84fc971d9da9d672bebc5bfb /Protocol Buffers - protobuf.dev.md
parent716fa9e840b7c3063574316fd7e0246a2bcb9332 (diff)
parent8bde51ba29aa23d1b6e01826b6af720b4256bd78 (diff)
Merge remote-tracking branch 'origin/main'
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