Settings

Theme

MemoryPack: Zero encoding extreme performance binary serializer for C#

github.com

33 points by breve 15 days ago · 7 comments

Reader

HackerThemAll 11 days ago

It's nice when you're absolutely sure you won't need schema evolution. Then go for it. If you have a tiny bit of doubt, use a binary alternative that supports it, which for me is Protobuf. You'll get gRPC support for free, which you'll most likely need anyway.

jeremycarter 11 days ago

Surprised how well the Orleans serializer performs for most uses cases.

aappleby 11 days ago

XTREEEEM

Naru41 11 days ago

memcpy() was the best and fastest serializer from the start. It already existed in 1983.

  • vlovich123 11 days ago

    Start with;

        struct Point {
          int32_t x;
          int32_t y;
        }
    
    Now you want to add z. Whoops - plain memcpy results in corruption.

        struct Foo {
          struct Bar * bar;
        }
    
    Whoops, can’t transfer pointers across.

    Also horrible security issues constantly since this was the original serialization technique that was tried.

    There is a real reason that serialization frameworks exist and pretending like plain memcpy competes in the same space is either willful ignorance or trolling. Not to mention that these serialization frameworks are zero copy and thus end up being a memcpy to transfer, just with better schema evolution semantics and better safety

  • pjmlp 11 days ago

    If we ignore all portability and data stability issues.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection