-
Notifications
You must be signed in to change notification settings - Fork 487
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resolve perf issues on the search page #179
Conversation
Signed-off-by: Joe Farro <joef@uber.com>
Codecov Report
@@ Coverage Diff @@
## master #179 +/- ##
==========================================
+ Coverage 90.77% 90.81% +0.03%
==========================================
Files 93 93
Lines 1930 1937 +7
Branches 383 383
==========================================
+ Hits 1752 1759 +7
Misses 155 155
Partials 23 23
Continue to review full report at Codecov.
|
just curious, are there automated ways to detect regressions like this in the UI? |
@black-adder jaegertracing/jaeger-client-node/benchmarks is one approach. Another is testing through a browser with something like Puppeteer for Chrome — similar to e2e testing but you'd want to capture a perf trace via the dev tools. The former is granular while the latter has sweeping coverage but variance is likely to be a problem. What's the approach taken with the various Jaeger benchmarks to have some sort of historical perspective or expectation relative to the current benchmark results? E.g. the current perf is X, the new perf is Y. |
To clarify, the issue is not necessarily stateless components but rather unnecessary render comparisons right? The PureComponent will add the Another alternative would be to keep the components stateless and then use a simple utility like recompose's pure or onlyUpdateForKeys HOCs that would only result in a few lines of code change. The result would be a smaller code change and easier to remove when we optimize further up the state tree: export function ResultItem(props) { /*... */ }
export default pure(ResultItem); |
@saminzadeh That's a great point. My inclination is to use |
Signed-off-by: Joe Farro <joef@uber.com> Signed-off-by: vvvprabhakar <vvvprabhakar@gmail.com>
Fix #178.
Main issue was two too many stateless functional components, now
React.PureComponent
s.Also: