Add list helper without memory operations #60
+90
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
list_pushback()andlist_remove()allocate and free linkage nodes internally. This behavior prevents callers from reusing linkage nodes and also introduces extra time overhead when these APIs are used frequently.This change introduces two new APIs with the same semantics as the original ones, but without calling malloc() or free() on the linkage nodes. These no-allocation variants allow callers to reuse pre-allocated linkage nodes and reduce the allocation overhead in hot paths.
Summary by cubic
Added no-allocation list helpers for pushback and remove to let callers reuse pre-allocated nodes and avoid malloc/free overhead in hot paths.
Written for commit 1266621. Summary will update automatically on new commits.