Hacker News new | ask | show | jobs
by andrew_rfc 827 days ago
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.

2 comments

(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))

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?