Add child node performance #175
Merged
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.
I generate XML documents which can easily have nodes with >10k children. With the current logic in this package, there is no way to add child nodes without iterating through or creating R objects containing the complete list of children.
I restructured xml_add_child so that using
.where=0L
(prepend mode) will bypass these very slow function calls.With the existing code, using
.where=0L
will produce an error if there are no children, rather than just insert the node as the first and only child. I assume this is a bug so I also included a fix for this in my changes.