Index: tools/perf/benchmarks/kraken.py |
diff --git a/tools/perf/benchmarks/kraken.py b/tools/perf/benchmarks/kraken.py |
index 8b4559ed924c78863a46c73a2708ca7713599d54..c30b8b8eca38b8e35170258ce166823de38817c1 100644 |
--- a/tools/perf/benchmarks/kraken.py |
+++ b/tools/perf/benchmarks/kraken.py |
@@ -13,6 +13,53 @@ from telemetry.page import page_set |
from telemetry.value import list_of_scalar_values |
from telemetry.value import scalar |
+DESCRIPTIONS = { |
+ 'ai-astar': |
+ 'This benchmark uses the [A* search algorithm]' |
+ '(http://en.wikipedia.org/wiki/A*_search_algorithm) to automatically ' |
+ 'plot an efficient path between two points, in the presence of ' |
+ 'obstacles. Adapted from code by [Brian Gringstead]' |
+ '(http://www.briangrinstead.com/blog/astar-search-algorithm-in-' |
+ 'javascript).', |
+ 'audio-beat-detection': |
+ 'This benchmark performs [beat detection]' |
+ '(http://en.wikipedia.org/wiki/Beat_detection) on an Audio sample ' |
+ 'using [code](http://beatdetektor.svn.sourceforge.net/viewvc' |
+ '/beatdetektor/trunk/core/js/beatdetektor.js?revision=18&view=markup) ' |
+ 'from [BeatDetektor](http://www.cubicproductions.com/index.php' |
+ '?option=com_content&view=article&id=67&Itemid=82) and ' |
+ '[DSP.js](http://github.com/corbanbrook/dsp.js/).', |
+ 'audio-dft': |
+ 'This benchmark performs a [Discrete Fourier Transform]' |
+ '(http://en.wikipedia.org/wiki/Discrete_Fourier_transform) on an ' |
+ 'Audio sample using code from [DSP.js]' |
+ '(http://github.com/corbanbrook/dsp.js).', |
+ 'audio-fft': |
+ 'This benchmark performs a [Fast Fourier Transform]' |
+ '(http://en.wikipedia.org/wiki/Fast_Fourier_transform) on an Audio ' |
+ 'sample using code from [DSP.js]' |
+ '(http://github.com/corbanbrook/dsp.js/).', |
+ 'audio-oscillator': |
+ 'This benchmark generates a soundwave using code from [DSP.js]' |
+ '(http://github.com/corbanbrook/dsp.js/).', |
+ 'imaging-darkroom': |
+ 'This benchmark performs a variety of photo manipulations such as ' |
+ 'Fill, Brightness, Contrast, Saturation, and Temperature.', |
+ 'imaging-desaturate': |
+ 'This benchmark [desaturates]' |
+ '(http://en.wikipedia.org/wiki/Colorfulness) a photo using code from ' |
+ '[Pixastic](http://www.pixastic.com/).', |
+ 'imaging-gaussian-blur': |
+ 'This benchmark performs a [Gaussian blur]' |
+ '(http://en.wikipedia.org/wiki/Gaussian_blur) on a photo.', |
+ 'json-parse-financial': |
+ 'This benchmark parses [JSON](http://www.json.org) records.', |
+ 'json-stringify-tinderbox': |
+ 'This benchmark serializes [Tinderbox]' |
+ '(http://tests.themasta.com/tinderboxpushlog/?tree=Firefox) build ' |
+ 'data to [JSON](http://www.json.org).', |
+} |
+ |
def _Mean(l): |
return float(sum(l)) / len(l) if len(l) > 0 else 0.0 |
@@ -41,22 +88,26 @@ class _KrakenMeasurement(page_measurement.PageMeasurement): |
self._power_metric.AddResults(tab, results) |
js_get_results = """ |
-var formElement = document.getElementsByTagName("input")[0]; |
-decodeURIComponent(formElement.value.split("?")[1]); |
-""" |
+ var formElement = document.getElementsByTagName("input")[0]; |
+ decodeURIComponent(formElement.value.split("?")[1]); |
+ """ |
result_dict = eval(tab.EvaluateJavaScript(js_get_results)) |
total = 0 |
for key in result_dict: |
if key == 'v': |
continue |
results.AddValue(list_of_scalar_values.ListOfScalarValues( |
- results.current_page, key, 'ms', result_dict[key], important=False)) |
+ results.current_page, key, 'ms', result_dict[key], important=False, |
+ description=DESCRIPTIONS.get(key))) |
total += _Mean(result_dict[key]) |
# TODO(tonyg/nednguyen): This measurement shouldn't calculate Total. The |
# results system should do that for us. |
results.AddValue(scalar.ScalarValue( |
- results.current_page, 'Total', 'ms', total)) |
+ results.current_page, 'Total', 'ms', total, |
+ description='Total of the means of the results for each type ' |
+ 'of benchmark in [Mozilla\'s Kraken JavaScript benchmark]' |
+ '(http://krakenbenchmark.mozilla.org/)')) |
class Kraken(benchmark.Benchmark): |