Skip to content

refactoring(perf): reduce memory allocations

Denis Smirnov requested to merge perf into main

Summarize the changes

  • refactoring(perf): reduce memory allocations
  1. Implement an improved version of PostOrder tree traversal that puts nodes into the result vector only if they apply the filter.
  2. Avoid string allocation caused by ok_or instead of the ok_or_else.
  3. Remove dead code.

Ensure that

  • New code is covered by unit and integration tests.
  • Related issues would be automatically closed with gitlab's closing pattern (Closes #1, #2).
  • Public modules are documented (check the rendered version with cargo doc --open).
  • (if PEST grammar is changed) EBNF grammar reflects these changes (check the result with railroad diagram generator.

Next steps

Edited by Denis Smirnov

Merge request reports