This repository was archived by the owner on Sep 20, 2023. It is now read-only.
Block/UArray/Builder: concat
performance update
#462
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.
instead of #205
improved the Block bench of about 200 μs
I just did this quickly and I think there is still room for improvement (I believe we can go faster or at least as fast as bytestring). Below is an quote from the core dump of the function where I believe we might be able to improve things, here the
Offset
is not unpacked in the code and we have a case to access it, this might be the source of the performance issue here:I wonder what else I could do to help GHC understand it can optimise away down to
I#
like it does for computing the length of theBlock
to create: