Hi all,

I'm the author/maintainer of **fastjsond**, a JSON library for D built on top of simdjson. It aims to accelerate parsing and serialization while being transparent to use. The goal is to offer a drop-in replacement for `std.json` with significantly higher performance.

**Why**: When dealing with large JSON volumes, `std.json` can become a bottleneck. I needed something faster without changing the API.

**What it is**:

- SIMD-accelerated parser and serializer: According to the benchmarks in the README, on a MacBook Pro M4 fastjsond reads 1 MB in 0.59 ms vs 8.45 ms for `std.json` (~14x) and 10 MB in 6.8 ms vs 82 ms. - Two APIs: a native zero‑copy API for maximum speed and a `std.json` compatible API for easy migration. - Auto‑detects SIMD instruction sets (AVX2, SSE4.2, NEON) and supports `@nogc`.

**Minimal drop‑in example**:

```d
import fastjsond.std; // replaces std.json

auto json = parseJSON(`{"name":"Aurora","version":2}`);
string name = json["name"].str;
long ver   = json["version"].integer;
```

Or the native zero‑copy API:

```d
import fastjsond;

auto parser = Parser.create();
auto doc    = parser.parse(`{"name":"Aurora","version":2}`);
const(char)[] name = doc.root["name"].getString; // slice into original buffer
```

**How to try**:

With Dub:

```json
"dependencies": { "fastjsond": "~>1.0.2" }
```

Or via:

```bash
dub add fastjsond
```

The project is on GitHub: https://github.com/federikowsky/Fastjsond. I'm looking for feedback on the API, real-world use cases and honest limitations (the native API isn't thread-safe, and strings are valid only while the document exists). Pull requests are welcome.

If you try it in practice, I'm interested to hear how it behaves and what trade‑offs you encounter. Thanks!

Reply via email to