A lightning-fast, standards-compliant DNS zone file parser using SIMD instructions for high-performance deserialization.
simdzone is a fast and standards-compliant DNS zone file parser designed to deserialize DNS presentation format text at high speeds. It solves the performance bottleneck of parsing large zone files (e.g., multi-gigabyte .com zones) by using SIMD CPU instructions to process millions of records per second. The project aims to provide a reusable library for other DNS tools and applications needing efficient zone data handling.
DNS software developers, network engineers, and researchers working on DNS servers, tools, or analytics that require parsing large zone files efficiently.
Developers choose simdzone for its exceptional parsing speed, achieved through SIMD optimizations, while maintaining strict compliance with DNS standards. It offers a significant performance boost over traditional parsers, making it ideal for high-volume DNS operations.
Fast and standards compliant DNS zone parser
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages SSE4.2 and AVX2 instructions to parse millions of DNS records per second, with benchmarks showing a 12.5 GB .com zone file parsed in under 14 seconds.
Implements the DNS presentation format as defined in RFC1035 and RFC1034, ensuring reliable parsing of standard and extensible DNS records.
Adapts proven SIMD parsing techniques from the simdjson project, backed by academic research demonstrating significant performance improvements.
Designed specifically for large zone files like top-level domains, making it ideal for DNS servers and analytics tools handling massive data volumes.
The README notes that serialization is planned for the future, so the library currently only supports parsing, not writing zone files.
Optimal performance requires SSE4.2 or AVX2 support; systems without these instructions fall back to a slower implementation, reducing speed benefits.
Compilation requires CMake and optional tools like cmocka for testing, which can add setup overhead compared to simpler libraries.