EdgeDB Benchmark Toolbench
This is a collection of benchmarks intended to compare EdgeDB against different databases and ORMs.
Installation and Use
Make a Python 3.8 venv (to be compatible with
synth
).Install dependencies from
requirements.txt
.Install EdgeDB, MongoDB, PostgreSQL 13, Golang toolchain.
Install NodeJS (at least v14.16.0) and TypeScript toolchains.
Install docker and docker-compose (needed for Hasura).
Install Prisma via
npm install prisma -D
.Install
synth
. (https://www.getsynth.com)Note: Synth v0.5.0 replaces python faker with fake-rs, and loses support for some generators used by this project. The previous supported version, Synth v0.4.7, can be installed from https://github.com/getsynth/synth/releases/tag/v0.4.7
Create the benchmark data via
$ make new-dataset
.Load data via
$ make load
.Compile Go benchmarks:
$ make go
Compile TypeScript benchmarks:
$ make ts
Run benchmarks via
bench.py
, for example:
python bench.py --html out.html --concurrency 10 -D 10 all
Dataset
The default dataset (100000 people, 100000 users, 500000 reviews) is
included in the repository. A new dataset can be generated via
$ make new-dataset
.
License
Apache 2.0.