<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Buf Blog — M. C. Sunny Young de la Sota</title><description>Posts by M. C. Sunny Young de la Sota on the Buf blog.</description><link>https://buf.build</link><item><title>Introducing hyperpb: 10x faster dynamic Protobuf parsing that’s even 3x faster than generated code</title><link>https://buf.build/blog/hyperpb</link><guid isPermaLink="true">https://buf.build/blog/hyperpb</guid><description>Today we’re announcing public availability of hyperpb, a fully-dynamic Protobuf parser that is 10x faster than dynamicpb, the standard Go solution for dynamic Protobuf. In fact, it’s so efficient that it’s 3x faster than parsing with generated code! It also matches or beats vtprotobuf’s generated code at almost every benchmark, without skimping on correctness.</description><pubDate>Wed, 16 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Protobuf Tip #9: Some numbers are more equal than others</title><link>https://buf.build/blog/totw-9-some-numbers-are-more-equal-than-others</link><guid isPermaLink="true">https://buf.build/blog/totw-9-some-numbers-are-more-equal-than-others</guid><description>The first 15 field numbers are special: most runtimes will decode them much faster than the other field numbers. When designing a message type for decoding performance, it’s good to use these field numbers on fields that are almost always present.</description><pubDate>Tue, 17 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Protobuf Tip #8: Never use required</title><link>https://buf.build/blog/totw-8-never-use-required</link><guid isPermaLink="true">https://buf.build/blog/totw-8-never-use-required</guid><description>Don’t use &apos;required&apos; to modify fields—you won’t be able to get rid of it later when you realize it was a bad idea.</description><pubDate>Tue, 03 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Protobuf Tip #7: Scoping it out</title><link>https://buf.build/blog/totw-7-scoping-it-out</link><guid isPermaLink="true">https://buf.build/blog/totw-7-scoping-it-out</guid><description>buf convert and protoscope are powerful tools for examining and debugging wire format dumps.</description><pubDate>Mon, 02 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Protobuf Tip #6: The subtle dangers of enum aliases</title><link>https://buf.build/blog/totw-6-dangers-of-enum-aliases</link><guid isPermaLink="true">https://buf.build/blog/totw-6-dangers-of-enum-aliases</guid><description>Enum values are a poorly designed feature and shouldn’t be used.</description><pubDate>Mon, 19 May 2025 00:00:00 GMT</pubDate></item><item><title>Protobuf Tip #5: Avoid import public/weak</title><link>https://buf.build/blog/totw-5-avoid-import-public-weak</link><guid isPermaLink="true">https://buf.build/blog/totw-5-avoid-import-public-weak</guid><description>Avoid import public and import weak.</description><pubDate>Tue, 13 May 2025 00:00:00 GMT</pubDate></item><item><title>Protobuf Tip #4: Accepting mistakes we can’t fix</title><link>https://buf.build/blog/totw-4-accepting-mistakes</link><guid isPermaLink="true">https://buf.build/blog/totw-4-accepting-mistakes</guid><description>Protobuf’s distributed nature introduces evolution risks that make it hard to fix some types of mistakes. Sometimes the best thing to do is to just let it be.</description><pubDate>Tue, 29 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Protobuf Tip #3: Enum names need prefixes</title><link>https://buf.build/blog/totw-3-enum-names-need-prefixes</link><guid isPermaLink="true">https://buf.build/blog/totw-3-enum-names-need-prefixes</guid><description>Enums inherit some unfortunate behaviors from C++. Avoid this problem by using the Buf lint rules ENUM_VALUE_PREFIX and ENUM_ZERO_VALUE_SUFFIX.</description><pubDate>Tue, 22 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Protobuf Tip #2: Compress your Protos!</title><link>https://buf.build/blog/totw-2-compress-protos</link><guid isPermaLink="true">https://buf.build/blog/totw-2-compress-protos</guid><description>Compression is everywhere. This pervasiveness means that wire size tradeoffs matter less than they used to twenty years ago, when Protobuf was designed.</description><pubDate>Tue, 15 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Protobuf Tip #1: Field names are forever</title><link>https://buf.build/blog/totw-1-field-names</link><guid isPermaLink="true">https://buf.build/blog/totw-1-field-names</guid><description>Don’t rename fields. Even though there are a slim number of cases you can get away with it, it’s rarely worth doing, and is a potential source of bugs.</description><pubDate>Tue, 08 Apr 2025 00:00:00 GMT</pubDate></item></channel></rss>