cayleygraph / cayleygraph/cayley

Memory: poor performance for recursive queries

Open
#786 0 comments 0 reactions 0 assignees View on GitHub
performance
Dominant language
Go
Stars
15.1k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

**Description**
Simple recursive queries take much more compared to their non recursive counterparts.

**Steps to reproduce the issue:**
Follow a simple RDF list
```javascript
g
.V()
.FollowRecursive("")
.Out("")
.All()
```

**Received results:**
Results return 100x more slow

**Expected results:**
Performance to be similar to non recursive queries

**Output of `cayley version` or commit hash:**
https://github.com/cayleygraph/cayley/commit/5318a818e947b20ef36a274f643e577f036bca7c

**Environment details:**
Docker

Backend database:
memory

Contributor guide

Open the contributing guide

Research direction

Start by running the supplied recursive RDF-list query against the memory backend and compare it with the equivalent non-recursive query. Trace the recursive query path to identify where the slowdown occurs; done means the recursive result returns with performance similar to the non-recursive counterpart.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, javascript
Domain
databases, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.