Skip to content

mixclient: Make jitter configurable.#3732

Draft
jholdstock wants to merge 1 commit into
decred:masterfrom
jholdstock:mix-poc
Draft

mixclient: Make jitter configurable.#3732
jholdstock wants to merge 1 commit into
decred:masterfrom
jholdstock:mix-poc

Conversation

@jholdstock

@jholdstock jholdstock commented Jul 10, 2026

Copy link
Copy Markdown
Member

Accept the message and peer jitter durations as parameters to NewClient and Dicemix respectively, rather than hardcoding them as package constants. Allowing consumers to set jitter however they please makes the package more flexible. It also enables jitter to be set to zero in tests, which has a very dramatic impact.

On my system with a i7-10750H CPU this reduces the total runtime for the mixclient package tests from ~143.4s to ~13.1s.

Note

This is a proof-of-concept just for feedback, and should be considered along with decred/dcrwallet#2641. This breaks the public API of the mixclient module so will need to be preceeded by a version bump before it can be merged. I'll open a PR for that if we want to proceed with this change.

Accept the message and peer jitter durations as parameters to NewClient
and Dicemix respectively, rather than hardcoding them as package
constants. Allowing consumers to set jitter however they please makes
the package more flexible. It also enables jitter to be set to zero in
tests, which has a very dramatic impact.

On my system with a i7-10750H CPU this reduces the total runtime for the
mixclient package tests from ~143.4s to ~13.1s.
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.

1 participant