Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
433442 | Science of Computer Programming | 2012 | 16 Pages |
This paper presents how the Tatoo parser generator enables the implementation of Java high-performance servers using the Banzai generic server shell. The performance of these servers relies on the ability of Tatoo to produce push non-blocking parsers with a fixed memory footprint during parsing and on the generic and efficient server architecture of Banzai. This approach reconciles the use of formally defined grammars for protocol parsing and the efficiency of the implementation. We argue that the use of the formal grammars simplifies the implementation of the protocol and we show that an HTTP server built using the Banzai+Tatoo is as efficient as several existing specially tuned high-performance HTTP servers.
Research highlights► Java high-performance server implementation framework is presented. ► This framework allows mixed binary and text protocols. ► Implemented using Java non-blocking IO and pooled multi-threading for performances. ► The protocol is formally specified using context-free grammars in the EBNF format. ► This approach combines efficiency and high-level implementation.