Fastest RPC in the west
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Aug 21, 2018
CMake build: fix cmake & python test runner for ArchLinux Nov 6, 2018
demo_apps Issue #275: mark inherited final classes 'final' Aug 21, 2018
docs Adding logo Nov 3, 2018
src build: fix cmake & python test runner for ArchLinux Nov 6, 2018
tools rename: senior7515 -> smfrpc organization Nov 3, 2018
.clang-format clang-format: updated clang-format Jul 15, 2018
.clang-tidy clang-tidy: adding new formatting to Dec 3, 2017
.dir-locals.el misc: add .dir-locals.el Sep 4, 2018
.dockerignore cmake and git submodule support (#181) Feb 25, 2018
.gitignore go: header build performance and tests (#273) Jul 31, 2018
.gitmodules build: remove fastrange. Not used anymore Jul 13, 2018
.style.yapf Adding yapf for python files May 13, 2017
.travis.yml build: unify docker build scripts Jun 23, 2018
CMakeLists.txt cmake: add smf_set_option macro to force settings Oct 30, 2018 create Oct 12, 2017 docs: Did a documentation overhaul. Oct 14, 2017
CPPLINT.cfg cpplint: linted all source code Feb 2, 2017
LICENSE Update license for gburd Nov 16, 2016 rename: senior7515 -> smfrpc organization Nov 3, 2018 Adding logo Nov 3, 2018
appveyor.yml appveyor run gazelle before building go Jul 9, 2018 recognize linuxmint (#211) Feb 28, 2018

smf - the fastest RPC in the West Travis-ci Build Status

smf is pronounced /smɝf/

Site Link
Mailing List!forum/smf-dev

Official Documentation

Please visit our official documentation, it'll get you up and running in no time!

If you are using smf, drop us a line on the mailing list introducing your project.

Please note that only CMake is the officially supported build system. Bazel is a WIP until Java and Go ports are finished, it will not be officially supported.

What is smf?

smf is a new RPC system and code generation like gRPC, Cap n Proto, Apache Thrift, etc, but designed for microsecond tail latency*.

Current benchmarks in microseconds

60 byte payload latency
p50 7us
p90 8us
p99 8us
p9999 15us
p100 26us

Getting started

Please see our quick getting started on our official docs!