Repository navigation
Publish the stress tests; answer the ThreadJob and PoshRSJob question - #30
Merged
Merged
Conversation
The FAQ said ThreadJob and PoshRSJob hadn't been tested for the scriptblock problem. They have, and both are affected. The FAQ now gives that answer and links the test scripts and results, so the claim can be checked and rerun. The Why Not Use X entries are updated to match: PoshRSJob no longer reads as equivalent to ThreadJob, and ThreadJob names its Gallery package. Testing/ adds the stress tests behind the README's claims: the third-party matrix with its summary, the kit's own worker stress test, and the host check. The README's Testing section says what each is for and how to run the third-party matrix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…urce comes from Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… small errors Lead the ThreadJob and PoshRSJob answer with "Yes, both" and keep the test details in a collapsed section. Credit ForEach-Object -Parallel for refusing a $using: scriptblock. Mention Unregister-PkCancellationSource, correct the harness run time and the worker-safety line under the single-process table. matrix.log is a full run of the published scripts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What was wrong
The FAQ said ThreadJob and PoshRSJob hadn't been tested for the scriptblock problem. They have been, and both are affected, but neither the answer nor the tests behind it were public. "Why Not Use X?" also said PoshRSJob had the same strengths and gaps as ThreadJob, which the tests don't support.
A docs pass also found a few smaller errors in the README, listed below.
What changed
ForEach-Object -Parallelentry credits it for refusing a$using:scriptblock.Testing/and how to run the third-party matrix.Unregister-PkCancellationSourceis now mentioned; the FAQ's "everything else is internal" wasn't true without it.Testing/, new:third-party/: the stress runner, plusresults/matrix.logwith one summary line per case (20 trials of 8 jobs, on 5.1 and 7,Microsoft.PowerShell.ThreadJob2.2.0 and PoshRSJob 1.7.4.4).cmdlet-hang/: the stress test for the kit's own worker code.hosts/check-host.ps1: a check to run in a host you choose.Raw per-run results and the downloaded modules aren't included.
Testing
Docs and standalone scripts only;
ParallelKit.ps1and the harness are unchanged, so I didn't rerun the harness locally.Run on this machine:
New-ItemandSave-PSResourcecommands on PowerShell 7 (PSResourceGet 1.2.0), with-TrustRepositoryadded because the run was non-interactive. Without it,Save-PSResourceprompts. They saved the module versions above.matrix.logis that run.Wait-Job, and with PoshRSJob it never passed.cmdlet-hang: no hangs in 3 trials on 5.1.check-host.ps1 -NoCtrlCreacheddoneon 5.1.ForEach-Object -Parallelrefuses a$using:scriptblock, andStart-ThreadJobstill runs one.Trial counts vary a little between runs, because these are races. Which cases fail doesn't.
🤖 Generated with Claude Code