Files
papers/lux-zap-benchmarks/lux-zap-benchmarks.tex
zeekay 21038c00b9 papers: add named-competitor comparison-table scaffolds + repro spec to 5 benchmark papers
Add explicit, literature-backed comparison scaffolds to:
- lux-pq-consensus-benchmarks (sec 09): vs Mysticeti-C, HotStuff/-2, Tendermint, Snowman
- lux-quasar-benchmarks (sec 15): vs Mysticeti-C, HotStuff-2, CometBFT, Snowman, TowerBFT
- lux-fhe-benchmarks (sec 12): vs TFHE-rs, Concrete, OpenFHE, Microsoft SEAL
- lux-zap-benchmarks (sec 14): vs Protobuf, FlatBuffers, Cap'n Proto, gRPC, QUIC, JSON-RPC
- evmgpu-benchmark (sec 13): vs geth, reth, erigon, evmone, Block-STM, pevm

Lux/competitor columns explicitly marked [TBD-measure] where not yet
benchmarked against the competitor's own published harness. Every
competitor cell is sourced to a cited paper, repo benchmark, or
vendor doc. Each scaffold ends with a Reproducibility spec
(hardware, software pins, commands, decision rule) for the actual
controlled run.

No invented Lux numbers; existing internal numbers retained but
flagged as not-yet-apples-to-apples vs literature.
2026-05-13 01:09:15 -07:00

85 lines
3.1 KiB
TeX

\documentclass[11pt,letterpaper]{article}
\usepackage{../shared/luxcover}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb,amsfonts,amsthm}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{listings}
\usepackage{multirow}
\usepackage{colortbl}
\usepackage{xcolor}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.18}
\input{../shared/lstlang}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{definition}{Definition}
\newtheorem{corollary}[theorem]{Corollary}
\definecolor{luxblue}{RGB}{30,60,120}
\definecolor{luxgray}{RGB}{100,100,100}
\definecolor{luxgreen}{RGB}{40,120,60}
\definecolor{luxred}{RGB}{180,40,40}
\lstset{
basicstyle=\ttfamily\small,
keywordstyle=\color{luxblue}\bfseries,
commentstyle=\color{luxgray}\itshape,
stringstyle=\color{luxgreen},
frame=single,
framerule=0.5pt,
rulecolor=\color{black!20},
breaklines=true,
showstringspaces=false,
tabsize=4,
columns=fullflexible,
}
\title{ZAP Benchmarks: Zero-Allocation Protocol\\Performance Analysis for Consensus Transport}
\author{
Zach Kelling\thanks{Corresponding author: [email protected]}\\
\textit{Lux Industries, Inc.}\\
\texttt{[email protected]}
}
\date{2023}
\begin{document}
\luxcoverpage
\begin{abstract}
We present a comprehensive performance evaluation of ZAP (Zero-Allocation Protocol), a binary wire protocol designed for inter-node consensus communication in the Lux Network. We benchmark ZAP against six competing protocols---gRPC, Protobuf-mux, JSON-RPC, Cap'n Proto, FlatBuffers, and QUIC---across six dimensions: serialization throughput, round-trip latency, memory allocation, CPU utilization, concurrent connection scalability, and variable message size performance. ZAP achieves 4.2 million single-stream serializations per second with zero heap allocations, 8.7$\mu$s median round-trip latency, and linear throughput scaling to 100K concurrent connections. In batched mode (50 connections, batch size 1000), ZAP sustains 20.26 million transactions per second. These results demonstrate that ZAP's arena-based zero-allocation design eliminates the primary bottleneck in garbage-collected consensus runtimes: unpredictable GC pauses that cause consensus timeouts.
\textbf{Keywords}: wire protocol, benchmarks, zero allocation, consensus transport, serialization, latency
\end{abstract}
\tableofcontents
\newpage
%% ============================================================================
\input{sections/01-introduction}
\input{sections/02-experimental-setup}
\input{sections/03-serialization-throughput}
\input{sections/04-latency}
\input{sections/05-memory-allocation}
\input{sections/06-cpu-usage}
\input{sections/07-concurrent-connection-scalability}
\input{sections/08-message-size-sensitivity}
\input{sections/09-batch-mode-performance}
\input{sections/10-end-to-end-consensus-impact}
\input{sections/11-comparison-with-zero-copy-protocols}
\input{sections/12-limitations}
\input{sections/13-related-work}
\input{sections/14-named-competitor-comparison}
\input{sections/99-conclusion}
\end{document}