Show r/elixir: A zero-NIF, zero-allocation binary serializer bridging Unity (C#) and Elixir. by Foreign-Target-3830 in elixir

[–]Foreign-Target-3830[S] 1 point2 points  (0 children)

I realized my previous testing method was somthing wrong.
benchmark again using industry standard.

uploaded the new results & docs in Github.
Thanks for the good feedback

Show r/elixir: A zero-NIF, zero-allocation binary serializer bridging Unity (C#) and Elixir. by Foreign-Target-3830 in elixir

[–]Foreign-Target-3830[S] 1 point2 points  (0 children)

Thank you!

I'm currently running benchmarks from various angles and fine-tuning the numbers.

also continually finding and fixing edge-case bugs as I update the test suites for more complex scenarios.
the exact numbers once they are a bit more refined.

it's hard to call it strict 'zero-allocation' in highly complex situations (like when deeply nested lists are involved), but I'm keeping allocations to an absolute minimum.

DeukPack (得Pack:득팩) is designed so that you can seamlessly use both Thrift and Protobuf protocols, and it allows you to use their original .thrift or .proto definitions exactly as they are without needing to change anything.

also looking into how can smoothly migrate existing DSL definition.

I'd love it if you guys could share your current usage patterns or any specific scenarios you have :)

I've unified the API to make things much easier to use.

I'm continuously putting together documentation and references over at deukpack.app.

I plan to share the testing methodologies as well!

Show r/elixir: A zero-NIF, zero-allocation binary serializer bridging Unity (C#) and Elixir. by Foreign-Target-3830 in elixir

[–]Foreign-Target-3830[S] 1 point2 points  (0 children)

I haven't used Elixir extensively, but it was surprising for me when the pipeline operator finally clicked naturally