betwixt-labs / bebop

🎷No ceremony, just code. Blazing fast, typesafe binary serialization.
https://bebop.sh/
Apache License 2.0
1.93k stars 40 forks source link
c-sharp compiler cpp dart deserialization javascript json marshalling real-time rpc rust serialization typescript zero-copy

Bebop

Bebop

No ceremony, just code.
Blazing fast, typesafe binary serialization.

Apache License Discord
Twitter


Introduction

Bebop is a high-performance data interchange format designed for fast serialization and deserialization.

        
// Example Bebop Schema
struct Person {
  string name;
  uint32 age;
}
        
      
        
// Generated TypeScript Code
new Person({
    name: "Spike Spiegel",
    age: 27
}).encode();
        
      
Write concise and expressive schemas with Bebop's intuitive syntax. Using a generated class to persist data.

It combines the simplicity of JSON with the efficiency of binary formats, delivering exceptional performance. In benchmarks, Bebop outperforms Protocol Buffers by approximately 10 times in both C# and TypeScript. Compared to JSON, Bebop is roughly 10 times faster in C# and about 5 times faster in TypeScript.

Benchmark Graphs

Bebop provides a modern, developer-friendly experience while ensuring top-notch performance. It is the ideal choice for any application that requires efficient data serialization, especially in performance-critical scenarios.

To explore the schema language and see examples of the generated code, check out the playground.

Key Features

👉 For more information, check out the documentation. 👈

See You Space Cowboy...