A microbenchmark for measuring message passing rates in the Pony runtime. #2347
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.
A microbenchmark for measuring message passing rates in the Pony runtime.
This microbenchmark executes a sequence of intervals. During an interval,
1 second long by default, the SyncLeader actor sends an initial
set of ping messages to a static set of Pinger actors. When a Pinger
actor receives a ping() message, the Pinger will randomly choose
another Pinger to forward the ping() message. This technique limits
the total number of messages "in flight" in the runtime to avoid
causing unnecessary memory consumption & overhead by the Pony runtime.
This small program has several intended uses:
Demonstrate use of three types of actors in a Pony program: a timer,
a SyncLeader, and many Pinger actors.
As a stress test for Pony runtime development, for example, finding
deadlocks caused by experiments in the "Generalized runtime
backpressure" work in pull request
Generalized runtime backpressure #2264
As a stress test for measuring message send & receive overhead for
experiments in the "Add DTrace probes for all message push and pop
operations" work in pull request
Add DTrace probes for all message push and pop operations #2295