1Skia Perf
2=========
3
4[Skia Perf](https://perf.skia.org) is a Polymer-based web application for
5analyzing and viewing performance metrics produced by Skia's testing
6infrastructure.
7
8<img src=Perf.png style="margin-left:30px" align="left" width="800"/> <br clear="left">
9
10Skia tests across a large number of platforms and configurations, and each
11commit to Skia generates 240,000 individual values that are sent to Perf,
12consisting mostly of performance benchmark results, but also including memory
13and coverage data.
14
15Perf includes tools for analyzing such a large corpus of data, the most
16powerful is [k-means clustering](https://perf.skia.org/t/). This tool groups
17large sets of performance metrics together based on how they change over time,
18and highlights sets of metrics that have performance regressions.
19
20<img src=Cluster.png style="margin-left:30px" align="left" width="500"/> <br clear="left">
21
22Calculations
23------------
24
25Skia Perf has the ability to perform calculations over the test data
26allowing you to build up interesting queries.
27
28This query displays [the ratio of playback time in ms to the number of ops for desk\_wowwiki.skp](https://perf.skia.org/#1876):
29
30    ratio(
31      ave(fill(filter("name=desk_wowwiki.skp&sub_result=min_ms"))),
32      ave(fill(filter("name=desk_wowwiki.skp&sub_result=ops")))
33    )
34
35You can also use the data to answer questions like [how many tests were run per commit](https://perf.skia.org/#1878).
36
37    count(filter(""))
38
39See Skia Perf for the [full list of functions available](https://perf.skia.org/help).
40
41