bitshares / bitshares/bitshares-core

Performance improvement: object database query caching?

Open
#1,100 3 comments 0 reactions 0 assignees View on GitHub
1a Epic 2a Discussion Needed 6 Performance performance
Dominant language
C++
Stars
1.2k
Forks
660
Avg merge
8h 17m
Merged PRs (30d)
26

Description

Most of data stored in the object database is in a red-black tree. Currently, every query searches from the root to the leaf, the complexity is `O(log(n))`. Generally, some data is much hotter than others, so it makes sense to cache the hottest results (pointers or addresses) to avoid searching from root to leaf for same data again and again.

Things to be done:
- [ ] profiling / query pattern analysis : find out what's being queried the most, whether a cache would help
- [ ] caching design

Thoughts?

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named. Start by profiling the object-database query patterns to identify frequently accessed data and determine whether caching improves performance. Done would require documented profiling results and an agreed caching design, but the issue does not yet define either.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.