[WIP] Write data to compact regions through destination "filling"#450
Draft
tbagrel1 wants to merge 23 commits into
Draft
[WIP] Write data to compact regions through destination "filling"#450tbagrel1 wants to merge 23 commits into
tbagrel1 wants to merge 23 commits into
Conversation
ab991ec to
396efdd
Compare
Member
Author
|
Here's a performance report at commit c86e68f: memory_using_dest_c86e68fca2a3f1ce4ea5aa18c31e336059d1ccbd.txt |
Open
2cfbd97 to
a9226ce
Compare
…perly match src structure
a9226ce to
868b732
Compare
868b732 to
1fcd12d
Compare
Member
Author
|
I'm reviving this PR after one year. The new implementation works with a custom GHC version, that adds 3 new primitives to efficiently allocate inside compact regions without copying. It is based on my JFLA article https://inria.hal.science/hal-04406360/document and HIW presentation https://www.youtube.com/live/uMurx1a6Zck?si=kNR2Qsj-6hVGdlP2&t=10579 |
…ithRegion` application solves the previous issue
…l to be used on ctors with unpacked fields
c7ee58e to
5d88d26
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR provides a way to fill compact regions (
GHC.Compact) through destination filling, with mutations under the hood. It superseedes the old repository https://github.com/tweag/linear-dest.It aims to reduce the number of allocations needed to copy data in a compact region for specific workloads such as parsers or deserializers.