Skip to content

[Search] Use a buffer to cache the intermediate results between search incovations such that memory allocations are reduced on multiple invocations of search. #29

Description

@rrahn

Description

A thread local buffer used for the search can have a impact on the performance by avoiding unncessary memory allocations which also have to be synchronised by the OS.

Also see here for possible improvements: seqan/seqan3#1528

Acceptance Criteria

  • the buffer is automatically always available. Nothing changes from the user perspective.
  • no realllocations happen between search invocations
  • the buffer is cleared before the search is invoked but not shrinked.

Tasks

  • how can this be designed and implemented?

Definition of Done

  • Implementation and design approved
  • Unit tests pass
  • Test coverage = 100%
  • Microbenchmarks added and/or affected microbenchmarks < 5% performance drop
  • API documentation added
  • Tutorial/teaching material added
  • Test suite compiles in less than 30 seconds (on travis)
  • Changelog entry added

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs refinementA story that was not discussed and/or estimated by the team yet but is planned for upcoming sprints.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions