Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
perf(accountsdb): bufferpool-integration (#476)
* Bufferpool: add CachedRead.borrowSlice * Accountsdb: add bufferpool field * use ReadHandle in accountsdb * get it building * wip - debugging * make a mess * comment all test failures * add probes * test and fix ReadHandle's bincode * misc fixes * cleanup * fix line lengths * make freq atomic * all tests passing / misc fixes * add atomic linear fifo * use threadlocal io_uring * frames metadata: use atomics for all fields * make style check happy * small cleanup * add flags for benchmark profiling * rename iterator to byteIterator, add chunked Iterator * replace iterator with faster one; simplified code * remove probes * address comments * remove .inner on ReadHandle * misc cleanup * handle full queue, rollback rcs on error * blocking io: rc cleanup on error path * remove allocation from hot path * line length check * seek files to 0 before reading all * use *const ReadHandle * split out owned and unowned buffers * remove useless errors from read + related functions * store and document file_length on accountfiles * move file_map append * init_allocator -> allocator * cloneAndTrack: duplicate cached read handles * add TODO for io_uring cli flag * cleanup some io_uring code * split out FrameManager and properly address thread safety * remove atomicstack * make style check happy * improve threadsafety / add comments on it * bugfix: use preadall * batch some lock usages / add comments * remove .size, factor out Metadata, remove some atomics * rework locking / fix threadsafety issue / temp regress io_uring * make fast path / reduce contention * squashme * concurrency rework * bring back io_uring * simplify io_uring & wait less * remove dead code * reduce read calls * default to blocking io * align frames * removed dead code * style check * fix bad diff * remove noinlines used for debugging * correctly update populated on read * remove incorrect asserts (triggers rarely, not actually a bug) * remove dead code * naming & comments improvements * small naming/style fixes * move constants to top * some renames / style changes * minor style fixes * macos: correct page size * test some errdefers / increase codecov
- Loading branch information