bitshares / bitshares/bitshares-core
Performance improvement: object database query caching?
- 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