Skip to content
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

Experimental message passing based pool implementation #4585

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

dipinhora
Copy link
Contributor

This is an alternative memory pool implementation that handles returning allocations back to the thread that allocated them via message passing (yes, the idea was shamelessly stolen from verona).

It currently has a number of limitations and inefficiencies and hasn't been performance tested to see if it is better or worse than the default pool implementation. But it is in a stable enough place that it seems to function correctly.

@ponylang-main ponylang-main added the discuss during sync Should be discussed during an upcoming sync label Jan 15, 2025
@SeanTAllen
Copy link
Member

@dipinhora if I give you access to the perftesting machine, would you be willing to do performance comparisons?

@SeanTAllen
Copy link
Member

I think this would benefit from having stress tests that run using this. Thoughts on the value of adding those @dipinhora ?

@dipinhora
Copy link
Contributor Author

@dipinhora if I give you access to the perftesting machine, would you be willing to do performance comparisons?

sure, but i don't think it's ready for any real performance comparisons yet.. i was hoping to get this initial version merged as an experimental thing which can over time have its limitations and known inefficiencies addressed and then performance tested/compared to the default pool to maybe possibly eventually replace it (or at least get marked as non-experimental)..

I think this would benefit from having stress tests that run using this. Thoughts on the value of adding those @dipinhora ?

yes, it would be great to put this through some torture.. not sure that the current nightly stress test a mixed enough workload in general but is definitely a great start.. the only thing that might be worth considering is the potential for noise if the stress tests find issues/cause failures in this..

@SeanTAllen
Copy link
Member

@dipinhora email me a public key to install on the test machine.

@SeanTAllen
Copy link
Member

@dipinhora when you have a chance, you should rebase against main which now has updated ubuntu24 builders across the board.

@dipinhora
Copy link
Contributor Author

@dipinhora when you have a chance, you should rebase against main which now has updated ubuntu24 builders across the board.

done

@SeanTAllen
Copy link
Member

@dipinhora that failure for the #4582 regression appears to be real. Not sure if it was caused by this change or if there's a sneaky issue still that wasn't caught before.

@SeanTAllen SeanTAllen removed the discuss during sync Should be discussed during an upcoming sync label Jan 21, 2025
This is an alternative memory pool implementation that handles
returning allocations back to the thread that allocated them via
message passing (yes, the idea was shamelessly stolen from verona).

It currently has a number of limitations and inefficiencies and
hasn't been performance tested to see if it is better or worse
than the default pool implementation. But it is in a stable enough
place that it seems to function correctly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants