diff options
author | David Robillard <d@drobilla.net> | 2021-01-13 23:47:44 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2023-12-02 16:27:02 -0500 |
commit | 3fc450d7f586388135028ac83870d288834c34a1 (patch) | |
tree | a80cbe021ff2b946b1126a4b79c835d98fecbea3 /README.md | |
parent | fb95ceca3b744e47e973585aa682515365ac9eb0 (diff) | |
download | serd-3fc450d7f586388135028ac83870d288834c34a1.tar.gz serd-3fc450d7f586388135028ac83870d288834c34a1.tar.bz2 serd-3fc450d7f586388135028ac83870d288834c34a1.zip |
Simplify stack management by popping in bulk at higher levels
Since all memory used by the reader is POD in the stack, there is no benefit to
forcing code to explicitly pop everything pushed to the stack, since any
function can record an offset and pop back down to it regardless of what its
callers pushed if it knows that it does not need those items.
This is slightly more efficient (due to avoiding many pop calls), but also more
resilient since "leaks" at deeper levels of recursion get nuked by some caller
regardless of what was pushed. This should help prevent future regressions
like f6437f606 (Fix memory consumption when reading documents).
Diffstat (limited to 'README.md')
0 files changed, 0 insertions, 0 deletions