Skip to content

Comments

Experimental message passing based pool implementation#4585

Open
dipinhora wants to merge 3 commits intoponylang:mainfrom
dipinhora:poolmessagepassing
Open

Experimental message passing based pool implementation#4585
dipinhora wants to merge 3 commits intoponylang:mainfrom
dipinhora:poolmessagepassing

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