All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

edn.c: A High-Performance C11 Library for Parsing EDN (Extensible Data Notation) with SIMD Acceleration

By

delaguardo

6mo ago· 31 min readenCode

Summary

This article introduces edn.c, a high-performance EDN (Extensible Data Notation) reader library written in C11 with SIMD acceleration. EDN is described as a richer, more extensible alternative to JSON with additional built-in types like sets, keywords, symbols, and tagged literals. The library emphasizes zero-copy parsing for maximum performance, making it suitable for data-intensive applications. The article explains EDN's features, compares it to JSON, and details the technical implementation approach including SIMD optimizations for parsing speed.

Key quotes

· 5 pulled
EDN (Extensible Data Notation) is a data format similar to JSON, but richer and more extensible. Think of it as 'JSON with superpowers'
JSON-like foundation: Maps {:key value}, vectors [1 2 3], strings, numbers, booleans, null (nil)
Additional built-in types: Sets #{:a :b}, keywords :keyword, symbols my-symbol, characters \newline, lists (1 2 3)
Extensible via tagged literals: #inst '2024-01-01', #uuid '...'—transform data at parse time with custom readers
A fast, zero-copy EDN (Extensible Data Notation) reader written in C11 with SIMD acceleration
Snippet from the RSS feed
A fast, zero-copy EDN (Extensible Data Notation) reader written in C11 with SIMD acceleration. - DotFox/edn.c

You might also wanna read