split groups performance pull request?
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 628
- Forks
- 68
- PR merge metrics
- No merged PRs in 30d
Description
A while back I opened a pull request to make TEST_QUEUE_SPLIT_GROUPS perform less pathologically (i.e. don't treat :all like :each). There were a couple problems with my first approach, but the pull request was closed without any comment or discussion from the maintainers.
I've reworked it since then to fix its shortcomings, and it has been performing quite well for canvas-lms (almost 20k non-selenium specs).
The tl;dr of it is it maintains queues at each level of the ExampleGroup hierarchy, such that no (sub-)group is ever split until its parent queue is empty. It's as if split groups is off, until there are no groups left, at which point the workers optimally swarm on the remaining items.
Now that test-queue is actively being maintained, would you have any interest in such a pull request? It would of course need to be rebased onto your latest work, and some of its independently developed things (e.g. TEST_QUEUE_LAZY_GROUPS) are now redundant.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing closed pull request #31 and the performance branch, especially commit 61e24afb597575ec10a7db5dfc68505655090117. Compare that work with the current test-queue behavior and the TEST_QUEUE_SPLIT_GROUPS description; done would mean a rebased pull request implementing the improved grouping performance without the redundant TEST_QUEUE_LAZY_GROUPS changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- performance, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100