Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(340)

Unified Diff: tools/testing/perf_testing/run_perf_tests.py

Issue 10408075: Run dart2js compiled Dromaeo on Chrome (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/testing/perf_testing/dromaeo.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/testing/perf_testing/run_perf_tests.py
diff --git a/tools/testing/perf_testing/run_perf_tests.py b/tools/testing/perf_testing/run_perf_tests.py
index cb3fc7420b5e3720802ba771be69f085c780c7a5..8f518790d94ebbf0f30f3b40c7264290382fe461 100755
--- a/tools/testing/perf_testing/run_perf_tests.py
+++ b/tools/testing/perf_testing/run_perf_tests.py
@@ -578,46 +578,49 @@ class RuntimePerformanceTest(Test):
(default target is create_sdk)."""
super(RuntimePerformanceTest, self).__init__(result_folder_name,
platform_list, versions, benchmarks, test_runner, tester,
- file_processor, self.RuntimePerfGrapher(self),
+ file_processor, RuntimePerfGrapher(self),
build_targets=build_targets)
self.platform_list = platform_list
self.platform_type = platform_type
self.versions = versions
self.benchmarks = benchmarks
- class RuntimePerfGrapher(Grapher):
- def plot_all_perf(self, png_filename):
- """Create a plot that shows the performance changes of individual
- benchmarks run by JS and generated by frog, over svn history."""
- for benchmark in self.test.benchmarks:
- self.style_and_save_perf_plot(
- 'Performance of %s over time on the %s on %s' % (benchmark,
- self.test.platform_type, utils.GuessOS()),
- 'Speed (bigger = better)', 16, 14, 'lower left',
- benchmark + png_filename, self.test.platform_list,
- self.test.versions, [benchmark])
-
- def plot_avg_perf(self, png_filename):
- """Generate a plot that shows the performance changes of the geomentric
- mean of JS and frog benchmark performance over svn history."""
- (title, y_axis, size_x, size_y, loc, filename) = \
- ('Geometric Mean of benchmark %s performance on %s ' %
- (self.test.platform_type, utils.GuessOS()), 'Speed (bigger = better)',
- 16, 5, 'lower left', 'avg'+png_filename)
- clear_axis = True
- for platform in self.test.platform_list:
- for version in self.test.versions:
- if self.test.is_valid_combination(platform, version):
- for metric in self.test.extra_metrics:
- self.style_and_save_perf_plot(title, y_axis, size_x, size_y, loc,
- filename, [platform], [version],
- [metric], clear_axis)
- clear_axis = False
-
- def plot_results(self, png_filename):
- self.plot_all_perf(png_filename)
- self.plot_avg_perf('2' + png_filename)
-
+class RuntimePerfGrapher(Grapher):
+ def plot_all_perf(self, png_filename):
+ """Create a plot that shows the performance changes of individual
+ benchmarks run by JS and generated by frog, over svn history."""
+ for benchmark in self.test.benchmarks:
+ self.style_and_save_perf_plot(
+ 'Performance of %s over time on the %s on %s' % (benchmark,
+ self.test.platform_type, utils.GuessOS()),
+ 'Speed (bigger = better)', 16, 14, 'lower left',
+ benchmark + png_filename, self.test.platform_list,
+ self.test.versions, [benchmark])
+
+ def plot_avg_perf(self, png_filename, platforms=None, versions=None):
+ """Generate a plot that shows the performance changes of the geomentric
+ mean of JS and frog benchmark performance over svn history."""
+ if platforms == None:
+ platforms = self.test.platform_list
+ if versions == None:
+ versions = self.test.versions
+ (title, y_axis, size_x, size_y, loc, filename) = \
+ ('Geometric Mean of benchmark %s performance on %s ' %
+ (self.test.platform_type, utils.GuessOS()), 'Speed (bigger = better)',
+ 16, 5, 'lower left', 'avg'+png_filename)
+ clear_axis = True
+ for platform in platforms:
+ for version in versions:
+ if self.test.is_valid_combination(platform, version):
+ for metric in self.test.extra_metrics:
+ self.style_and_save_perf_plot(title, y_axis, size_x, size_y, loc,
+ filename, [platform], [version],
+ [metric], clear_axis)
+ clear_axis = False
+
+ def plot_results(self, png_filename):
+ self.plot_all_perf(png_filename)
+ self.plot_avg_perf('2' + png_filename)
class BrowserTester(Tester):
@staticmethod
@@ -817,7 +820,7 @@ class DromaeoTester(Tester):
@staticmethod
def get_dromaeo_versions():
- return ['js', 'frog_dom', 'frog_html']
+ return ['js', 'frog_dom', 'frog_html', 'dart2js_dom', 'dart2js_html']
class DromaeoTest(RuntimePerformanceTest):
@@ -829,6 +832,9 @@ class DromaeoTest(RuntimePerformanceTest):
DromaeoTester.get_dromaeo_benchmarks(), test_runner,
self.DromaeoPerfTester(self),
self.DromaeoFileProcessor(self))
+ # TODO(vsm): These tester/grapher/processor classes should be
+ # cleaner to override.
+ self.grapher = self.DromaeoPerfGrapher(self)
@staticmethod
def name():
@@ -839,8 +845,20 @@ class DromaeoTest(RuntimePerformanceTest):
# running JS dromaeo.
if browser == 'dartium' and version == 'js':
return False
+ # Only run dart2js on Chrome until we validate it elsewhere.
+ if browser != 'chrome' and 'dart2js' in version:
+ return False
return True
+ class DromaeoPerfGrapher(RuntimePerfGrapher):
+ def plot_results(self, png_filename):
+ self.plot_all_perf(png_filename)
+ self.plot_avg_perf('2' + png_filename)
+ self.plot_avg_perf('3' + png_filename, ['chrome', 'dartium'], ['js', 'frog_dom', 'frog_html'])
Emily Fortuna 2012/05/22 22:40:27 80 char here and below
vsm 2012/05/22 23:05:06 Done.
+ self.plot_avg_perf('4' + png_filename, ['chrome'], ['js', 'frog_dom', 'dart2js_dom'])
+ self.plot_avg_perf('5' + png_filename, ['chrome'], ['js', 'dart2js_dom', 'dart2js_html'])
+ self.plot_avg_perf('6' + png_filename, ['chrome'], ['js', 'frog_dom', 'frog_html', 'dart2js_dom', 'dart2js_html'])
+
class DromaeoPerfTester(DromaeoTester):
def move_chrome_driver_if_needed(self, browser):
"""Move the appropriate version of ChromeDriver onto the path.
« no previous file with comments | « tools/testing/perf_testing/dromaeo.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698