Files
zeekay abf99d05fc papers: reorganize into per-paper dirs, add Antje Worring as co-author
Restructured from flat .tex/.pdf files into per-paper subdirectories.
Added Antje Worring as co-author on all papers.
Synced PDFs to pdfs/ for download site.
2026-04-18 21:50:07 -07:00

16 lines
1.2 KiB
TeX

\section{Limitations}
%% ============================================================================
\begin{enumerate}
\item \textbf{No schema evolution}: ZAP messages have fixed layouts. Adding a field requires a protocol version bump and coordinated upgrade. For consensus protocols, this is acceptable (hard forks already require coordinated upgrades). For general-purpose RPC, Cap'n Proto or FlatBuffers are more appropriate.
\item \textbf{Loopback testing}: Our latency benchmarks use loopback interfaces. Cross-datacenter latency ($\sim$1ms) would dominate the protocol differences. However, ZAP's advantage is most critical for intra-cluster consensus where nodes are co-located.
\item \textbf{Go-specific}: The zero-allocation property depends on Go's escape analysis and stack allocation. In languages without managed memory (C, Rust), the allocation distinction is less meaningful.
\item \textbf{No streaming}: ZAP uses request-response semantics. gRPC's bidirectional streaming is advantageous for use cases requiring server push (e.g., block subscription). ZAP addresses this with explicit pub/sub message types rather than transport-level streaming.
\end{enumerate}
%% ============================================================================