adoptium / adoptium/aqa-test-tools
Optimize Tabular View Code
- Dominant language
- Jupyter Notebook
- Stars
- 33
- Forks
- 97
- Avg merge
- 7h 9m
- Merged PRs (30d)
- 5
Description
In the Tabular view (https://github.com/AdoptOpenJDK/openjdk-test-tools/issues/37), there are few places where the code seems to pretty costly to run. In interest of time and considering the first commit for Tabular View, we'll revisit the code for it to see how we can optimize it in order to reduce CPU usage.
For example, we are using distinct to get unique values for platforms and benchmarks. `distinct` is expensive to run.
**Snippet from getTabularData.js**
```
const platforms = await db.distinct("buildName", query);
const benchmarks = await db.distinct("aggregateInfo.benchmarkName", query);
```
For more details, please refer to https://github.com/AdoptOpenJDK/openjdk-test-tools/pull/131#issuecomment-524310606.
Contributor guide
Research direction
Start by reading getTabularData.js and the discussion in pull request 131, focusing on how the tabular view obtains unique platforms and benchmarks. Profile the relevant code and identify changes that reduce its CPU usage without changing the tabular view's results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- performance
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100