aeron-io/simple-binary-encoding

Simple Binary Encoding (SBE) - High Performance Message Codec

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 42 minutes ago
Added to GitGenius on September 19th, 2026
Created on September 3rd, 2013
Open Issues & Pull Requests: 36 (+0)
GitHub issues: Enabled
Number of forks: 601
Total Stargazers: 3,506 (+0)
Total Subscribers: 200 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 25
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,239 days
Stale 30+ days: 25
Stale 90+ days: 24

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (5)
  • wontfix (2)
  • Blocked by SBE v2 spec (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Simple Binary Encoding (SBE) is a message codec for low-latency financial applications that encodes and decodes binary messages at the OSI layer 6 presentation level.

SBE addresses the need for extremely fast serialization and deserialization of structured data in financial systems where microsecond-level latency matters. It achieves this through a binary format specification that minimizes overhead and enables direct memory access patterns. Messages are defined in XML schemas and code generators produce language-specific encoders and decoders that work directly with buffers, avoiding the allocation and copying overhead of many general-purpose serialization frameworks.

The tool suits teams building low-latency trading systems, market data feeds, or other financial infrastructure where message throughput and latency are critical constraints. It is particularly effective when paired with the Aeron messaging system, which the Java and C++ implementations integrate with directly. The project provides reference implementations across Java, C, C++, C#, Golang, and Rust, so adoption depends on your technology stack. The Java implementation depends on Agrona for buffer management. If you are working in a domain outside high-frequency finance or do not have strict latency requirements, the complexity of binary encoding may not justify the performance gains over simpler alternatives.

The project maintains active development across multiple language implementations, with the C++ build system using CMake and the Java tooling built on Gradle. The C implementation is noted as a work in progress. Code generation is a core feature, allowing developers to define message schemas once and produce optimized codec implementations for their target language. The project provides example code and benchmarks to help evaluate performance characteristics in your specific use case.