OpteryxOpteryx Documentation
GuidesBlogReleases
Try Opteryx

Engineering Blog

When we Stopped Using Regex for REGEXP_REPLACE

When we Stopped Using Regex for REGEXP_REPLACE

2026-04-24

REGEXP_REPLACE dominated query time. Swapping regex engines didn't help. We built a specialised DFA instead.

Rewriting the Memory Model Moving Beyond Arrow

Rewriting the Memory Model Moving Beyond Arrow

2026-04-16

Why we replaced Arrow in Opteryx to break through a fundamental performance barrier.

Making LIKE Faster: From 93 Seconds to Single Digits

Making LIKE Faster: From 93 Seconds to Single Digits

2026-04-10

How optimising the LIKE operator — turned a 93-second query into sub-10-second execution through algorithmic improvements and GIL-aware design.

10x Faster Memory Management: Optimising Opteryx's Core Memory Pool

10x Faster Memory Management: Optimising Opteryx's Core Memory Pool

2026-04-03

How a targeted change to the MemoryPool implementation produced a 10x improvement by moving metadata into C++ while keeping the Python API unchanged.

Building a specialized hash table to beat Abseil

Building a specialized hash table to beat Abseil

2026-03-26

Our custom hash table achieves faster build times than Abseil; here's what the actual benchmarks show on the probe path.

What If the Docs Wrote Themselves?

What If the Docs Wrote Themselves?

2026-03-19

Why Opteryx is shifting documentation generation closer to the code.

Rewriting the I/O Stack

Rewriting the I/O Stack

2026-03-12

The new I/O layer and why it matters.