-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Write data to compact regions through destination "filling" #450
base: master
Are you sure you want to change the base?
Conversation
ab991ec
to
396efdd
Compare
Here's a performance report at commit c86e68f:
memory_using_dest_c86e68fca2a3f1ce4ea5aa18c31e336059d1ccbd.txt |
2cfbd97
to
a9226ce
Compare
…perly match src structure
a9226ce
to
868b732
Compare
868b732
to
1fcd12d
Compare
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 PR provides a way to fill compact regions (
GHC.Compact
) through destination filling, with mutations under the hood.It aims to reduce the number of allocations needed to copy data in a compact region for specific workloads such as parsers or deserializers.