First establish a baseline for the page: navigation-to-interactive and largest-contentful-paint timings, JavaScript and network waterfalls, CPU and memory profiles, bundle sizes, table-render time, and scroll/input latency. Test with the real 5000-row dataset on representative hardware and network conditions. The likely bottleneck is rendering and retaining 5000 rows during initial load. Virtualize the table so only the visible viewport plus a small overscan window is mounted. Prefer a table/...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HoangNguyen0403/agent-skills-standard --skill common-performance-engineering --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Common Performance Engineering?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-common-performance-engineering-705c6f25)More formats (shields.io, HTML) on the badges page.
First establish a baseline for the page: navigation-to-interactive and largest-contentful-paint timings, JavaScript and network waterfalls, CPU and memory profiles, bundle sizes, table-render time, and scroll/input latency. Test with the real 5000-row dataset on representative hardware and network conditions.
The likely bottleneck is rendering and retaining 5000 rows during initial load. Virtualize the table so only the visible viewport plus a small overscan window is mounted. Prefer a table/grid component with row virtualization, stable row keys, and fixed or measured row heights. Paginate or incrementally fetch data when all 5000 rows are not required immediately; use compressed payloads and select only the fields needed for the first view. Split or lazy-load noncritical page code, and ensure production tree shaking removes unused dependencies.
Keep row and cell rendering cheap: memoize pure row/cell components where profiling shows repeated renders, preserve stable callbacks/inputs, and avoid expensive formatting or computation on the main thread. Move genuinely heavy transformations to a worker or precompute them server-side. Use asynchronous network and storage operations, and avoid blocking the main thread during startup.
Re-profile after each targeted change. Verify initial-load and time-to-interactive improvements, smooth scrolling and interaction under CPU throttling, bounded memory, correct sorting/filtering/selection, and behavior at 5000 rows. Add a performance test or benchmark with explicit latency and interaction SLIs/SLOs. Avoid optimizing based only on bundle size or guessing: profile first, then verify that the dominant bottleneck actually improved.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!