jquery/jquery-ui — pull request #1160 by axemclion (2014-01-06 01:05:33+00:00)
Title: Proposal: Adding Rendering Performance Tests for Components

## What is in this pull request
## What is this pull request

This pull request adds a way to include a check for performance regressions in the continuous integration process. It ensures that the jquery-ui CSS and Javascript performance hits are tracked across commits.

The useful metrics measured include
1. Smoothness - measured by way of mean time to draw each frame while scrolling
2. Page load time - measured using firstPaintTime and window.performance

For example, adding blurs, roudned corners or gradients could slow down a component.
Additionally, Javascript that adds additional listeners can make a page janky. With a graph tracking performance across commits, any issues introduced during the development process will not go unnoticed.

## What has been added

A new grunt task has been added that generates temporary files, runs the performance tests for them in saucelabs and reports back the results. The results are stored in a CouchDB Database. The CouchApp in the same database is used to view this data over commits.

This is based on http://axemclion.github.com/bootstrap-perf and is inspired by the work done with http://bench.topcoat.io.
To run the performance task, run grunt connect perf. I have not yet hooked it into travis yet, will do that once this proposal to add rendering tasks is accepted.

## Notes

1. The CouchDB database is temporary and needs to be changed to something that jquery owns.
2. The graph will be available at http://coucdbserver/databasename/_design/site/index.html
3. When running locally, the commit number and job id are not available in environment variable. That is the reason that you do not see any graphs yet. Once integrated with travis, all this information will be populated, allowing for a more useful graph.