Skip to content

Commit

Permalink
fix: #312
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewmd5 committed Mar 16, 2024
1 parent 836fabc commit 837ec19
Showing 1 changed file with 46 additions and 11 deletions.
57 changes: 46 additions & 11 deletions README.md
Expand Up @@ -7,7 +7,8 @@

<div align="center">
<h1>Bebop</h1>
<h3>No ceremony, just code.<br/> Blazing fast, typesafe binary serialization.</h3>
<h3>No ceremony, just code.<br/> Blazing fast, typesafe binary serialization.</h3>

<a href="https://github.com/betwixt-labs/bebop/blob/main/LICENSE.txt">
<img alt="Apache License" src="https://img.shields.io/github/license/betwixt-labs/bebop" />
</a>
Expand All @@ -22,26 +23,60 @@

<br />

## Intro
## Introduction


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

Bebop is an insanely fast data interchange format. Think JSON, except binary. Or think Protocol Buffers, except faster with a better DevEx. In fact, in benchmarks, Bebop is 100 TIMES faster than Protocol Buffers and 1000 TIMES faster than JSON.

![P12CpmA](https://user-images.githubusercontent.com/1297077/235745675-fc8a18e2-361f-4b7b-b9c9-47155e511b0a.png)
<table>
<tr>
<td>
<pre lang="c">
<code>
// Example Bebop Schema
struct Person {
string name;
uint32 age;
}
</code>
</pre>
</td>
<td>
<pre lang="typescript">
<code>
// Generated TypeScript Code
new Person({
name: "Spike Spiegel",
age: 27
}).encode();
</code>
</pre>
</td>
</tr>
<tr>
<td>Write concise and expressive schemas with Bebop's intuitive syntax.</td>
<td>Using a generated class to persist data.</td>
</tr>
</table>

Bebop is designed to be a modern, developer-friendly, and high-performance alternative to existing serialization formats. It's a great fit for any application that needs to serialize data, especially in performance-critical scenarios.
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.

If you want to get familiar with the schema language and see what the generated code looks like, try out the [playground](https://play.bebop.sh/).
![Benchmark Graphs](https://user-images.githubusercontent.com/1297077/235745675-fc8a18e2-361f-4b7b-b9c9-47155e511b0a.png)

### Features
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](https://play.bebop.sh/).

### Key Features

- 🧙‍♂️&nbsp; Supports [Typescript](https://docs.bebop.sh/guide/getting-started-typescript/), [C#](https://docs.bebop.sh/guide/getting-started-csharp/), [Rust](https://docs.bebop.sh/guide/getting-started-rust/), C++, and more.
- 🐎&nbsp; Snappy DX - integrate `bebopc` into your project with ease. Language support available in [VSCode](https://marketplace.visualstudio.com/items?itemName=betwixt.bebop-lang).
- 🍃&nbsp; Light - Bebop has zero deps and a tiny runtime footprint. Generated code is tightly optimized.
- 🌗&nbsp; RPC - build efficent APIs with [Tempo](https://docs.bebop.sh/tempo/).
- 🍃&nbsp; Lightweight - Bebop has zero dependencies and a tiny runtime footprint. Generated code is tightly optimized.
- 🌗&nbsp; RPC - build efficient APIs with [Tempo](https://docs.bebop.sh/tempo/).
- ☁️&nbsp; Runs everywhere - browsers, serverless platforms, and on bare metal.
- 📚&nbsp; Extendable - write extensions for the compiler [in any language](https://docs.bebop.sh/chords/what-are-chords/).

**👉 For more information check out the [docs](https://docs.bebop.sh). 👈**

**👉 For more information, check out the [documentation](https://docs.bebop.sh). 👈**

[_See You Space Cowboy_...](https://www.youtube.com/watch?v=u1UZHXB_r6g)

0 comments on commit 837ec19

Please sign in to comment.