Skip to content

Use buffered iterators to speed up the search #3

@uselessgoddess

Description

@uselessgoddess

Currently, op_iter functions use Vec to collect op results to vec and returns vec.into_iter().
I recommend use buffered lock-free iterator generator crate - buter or similar

For example, it will look like this:

//! before
let mut vec = Vec::with_capacity(...);
self.each(..., |link| {
    vec.push(link);
    Continue
});
vec.into_iter()

//! after
let writer = self.buter.writer();
self.each(..., |link| {
    writer.extend(Some(link));
    Continue
});
writer.into_iter()

Metadata

Metadata

Assignees

No one assigned

    Labels

    Bench:NewBench: create new benchIssue:EasyIssue: a good way to start contributing, mentoring is availableStore:SearchStore: this is about the search

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions