---
title: "Semurg against the databases you already run: what we have measured so far"
slug: semurg-against-the-databases-you-run
date: 2026-10-27
author: Semurg
section: engineering
tags: [benchmarks, performance, graph, vector, time-series, document, search, key-value]
summary: The published head-to-head results across graph, vector, time series, documents, search and key-value, each on the same machine with every engine in its fastest form and every answer checked, plus the ties and what is still being measured.
status: published
constants:
  - 4
  - 2
evidence:
  - bench:graph/t2/server/neo4j@r11.118
  - bench:graph/t2/server/arangodb@r11.118
  - bench:graph/t2/server/falkordb@r11.118
  - bench:vector/t2/server/milvus@r11.123
  - bench:vector/t2/server/pgvector@r11.123
  - bench:vector/t2_throughput/server/milvus@r11.123
  - bench:time_series/t2/server/timescaledb@r11.127
  - bench:time_series/t2/server/influxdb@r11.127
  - bench:time_series/t2_throughput/server/timescaledb@r11.127
  - bench:document/t2/server/mongodb@r11.121
  - bench:search/t2/server/meilisearch@r11.123
  - bench:search/t2/server/typesense@r11.123
  - bench:key_value/t2/embedded/redis@r11.124
  - bench:columnar/t2/server/clickhouse@r11.125
  - bench:streaming/t2/server/kafka@r11.126
  - bench:streaming/t2_throughput/server/redpanda@r11.126
  - bench:knowledge/t2/server/postgres@r11.125
---
Most teams already run a graph database, a vector database, a time-series store, a document store and a search engine, each
chosen for one job. Semurg is one engine for all of them, so the fair question is how it compares with each of those engines on
its own ground. We answer it in public, with three rules: the same machine and the same data, every other engine in its fastest
form (its embedded mode where it has one, its fastest client where it does not), and every engine must return the same answer
before its time counts.

## Graph

On SNAP's com-Orkut social graph, a 4-hop question about one person's network took Semurg 2.94 ms as a server and Neo4j 286 ms[^1];
ArangoDB took 347 ms[^2] and FalkorDB 207 ms[^3].

> Diagram graph-four-hop: One 4-hop query on the com-Orkut social graph, as a server: Semurg's bar is the shortest, and Neo4j, ArangoDB and FalkorDB each take many times longer.
>
> - Semurg: 2.943 ms [^1]
> - Neo4j: 285.713 ms [^1]
> - ArangoDB: 347.244 ms [^2]
> - FalkorDB: 207.248 ms [^3]

## Vector

For a nearest-neighbour search, Semurg answered in 14.3 ms and Milvus in 19.0 ms[^4], and pgvector in 59.3 ms[^5].

> Diagram vector-search: One nearest-neighbour search, as a server: Semurg's bar is the shortest, Milvus is close behind, and pgvector takes several times as long.
>
> - Semurg: 14.338 ms [^4]
> - Milvus: 19.024 ms [^4]
> - pgvector: 59.263 ms [^5]
 Under
concurrent load Semurg served 801 queries a second against Milvus's 127[^6].

## Time series

Reading the latest value of a series took Semurg 0.145 ms and TimescaleDB 0.34 ms[^7], and InfluxDB 0.52 ms[^8]. Under load Semurg
served 96,693 queries a second against TimescaleDB's 19,353[^9].

## Documents and search

Reading a document by its id took Semurg 0.096 ms and MongoDB 0.26 ms[^10]. Finding which documents hold a word took Semurg
0.11 ms and Meilisearch 0.37 ms[^11], and Typesense 1.11 ms[^12].

## Key-value

Inside the application, reading a value took Semurg 0.005 ms, and Redis, at its fastest connection, 0.015 ms[^13].

## The ties

Not every published comparison is a win. A columnar query took Semurg 17.6 ms and ClickHouse 17.7 ms[^14]. Reading the newest
record of a stream took 0.30 ms on Semurg and 0.31 ms on Kafka[^15]. Under load Semurg served 26,992 stream queries a second and
Redpanda 30,730, inside the measured run-to-run band[^16]. A knowledge-graph query took Semurg 0.18 ms and Postgres 0.21 ms[^17].
Each of these is within the run-to-run noise of the two engines, so the page calls it a tie, not a win.

## What is not on the page yet

A result we lose is published once we have worked on it, or after two releases at most, so some comparisons are still in that
queue, mostly data-loading times. Relational, the multi-model and converged workloads, graph RAG and model inference are being
measured on the current release and land on the [benchmark page](/benchmark) as they finish, wins and losses alike.

## Run it yourself

Every chart on the [benchmark page](/benchmark) names the published release it was measured on and the machine it ran on, and
the page links the kit that reruns the same questions against the same engines on your own hardware. If you run one of these
databases in production, we would like to know which comparison you trust most, and which one you would add.
