Re:Bebop v3: a fast, modern replacement for Protocol Buffers
by andrew_rfc on Tuesday March 12, 2024 @01:23PM
(#39682209)
Looks neat. Bebop is licensed under Apache 2.0, not GPL and doesn’t require a commercial license to use for profit.
And I can tell the C# code it generates is going to be plagued by vtable lookups. Some decent ideas though.
Re:Bebop v3: a fast, modern replacement for Protocol Buffers
by zigzag312 on Tuesday March 12, 2024 @02:02PM
(#39682718)
Slice & IceRPC are also licensed under Apache 2.0. Were you looking at Ice Framework licence?
It's nice to finally see some quality alternatives to Protobuf.
One idea I like from Slice are custom types. Is there anything similar in Bebop?
Re:Bebop v3: a fast, modern replacement for Protocol Buffers
by neonsunset on Tuesday March 12, 2024 @01:37PM
(#39682402)
(it may be less of an issue today since the DPGO will devirtualize those, when profiling average rpc framework, more time is spent on 1. deep async call stacks, 2. inefficient serde that copies data frequently and heap allocates transient objects and 3. working against the language by not using its features made for performance (Memory/Span slices, using manually rolled copy and search routines over span.CopyTo, .IndexOf))
And overall observation is the less code and the simpler it is, the better, notably gRPC suffers from its pipeline/interceptors-support style implementations and insisting on usings its own types replacing T[] and List<T>, putting irreducible mandatory cost in places where it may matter most (unless you partially bypass those with reflection/unsafe accessor like I had to do once))
https://docs.icerpc.dev/slice2