Bug 149683 - Add the test runner for a new a graphics benchmark
Summary: Add the test runner for a new a graphics benchmark
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Animations (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Said Abou-Hallawa
URL:
Keywords:
Depends on:
Blocks: 149691
  Show dependency treegraph
 
Reported: 2015-09-30 15:54 PDT by Said Abou-Hallawa
Modified: 2015-10-02 15:15 PDT (History)
5 users (show)

See Also:


Attachments
Patch (34.43 KB, patch)
2015-09-30 15:56 PDT, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff
Patch (185.85 KB, patch)
2015-10-01 17:29 PDT, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Said Abou-Hallawa 2015-09-30 15:54:27 PDT
We need a framework for a graphics benchmark test runner. This patch is separated from the patch attached to https://bugs.webkit.org/show_bug.cgi?id=149053.
Comment 1 Said Abou-Hallawa 2015-09-30 15:56:06 PDT
Created attachment 262199 [details]
Patch
Comment 2 Ryosuke Niwa 2015-09-30 16:16:56 PDT
Comment on attachment 262199 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=262199&action=review

> PerformanceTests/ChangeLog:14
> +        * Animometer: Added.

Please skip this directory in PerformanceTests/Skipped.

> PerformanceTests/Animometer/runner/animometer.html:5
> +    <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" defer></script>  

We should not pull scripts from CDNs.  We should put a copy in the repo instead.

> PerformanceTests/Animometer/runner/resources/animometer.js:104
> +    var browser = benchmarkRunnerClient.browser();    
> +    if (browser.length)
> +        element.textContent += " [browser = " + browser + "]";

Why does this need to be included in the results?
The user running the browser is perfectly aware of which browser he/she is running.
Please remove this code as well as benchmarkRunnerClient.browser
so that people don't mistakenly think we're running different code based on user agent strings.

> PerformanceTests/Animometer/runner/resources/benchmark-runner.js:1
> +function BenchmarkRunnerState(suites)

This code is basically copied from Speedometer.
Instead of making a copy-paste, please do "svn cp" so that we can see the diff.

> PerformanceTests/Animometer/runner/resources/tests.js:47
> +    name: "HTML Bouncing Particles",

It's best if we added these suites as we added the actual test contents.
Please remove them for now.
Comment 3 Jon Lee 2015-09-30 17:03:06 PDT
(In reply to comment #2)
> Comment on attachment 262199 [details]
> Patch
> 
> We should not pull scripts from CDNs.  We should put a copy in the repo
> instead.

This script is used to visualize the data after the test is run; it is not used for any test. Right now we can't include a copy, so my suggestion is we leave it as is now, and file a follow-up task to either get rid of it completely or get approval.
Comment 4 Ryosuke Niwa 2015-09-30 17:08:20 PDT
Well, we can just svn cp from Websites/perf.webkit.org/public/v2/js/d3/d3.min.js
Comment 5 Dean Jackson 2015-09-30 17:37:11 PDT
Comment on attachment 262199 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=262199&action=review

>> PerformanceTests/Animometer/runner/animometer.html:5
>> +    <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" defer></script>  
> 
> We should not pull scripts from CDNs.  We should put a copy in the repo instead.

Just make sure we've got approval to put this in the repository.

> PerformanceTests/Animometer/runner/resources/animometer.css:221
> +.left-samples {
> +  fill: none;
> +  stroke: steelblue;
> +  stroke-width: 1.5px;
> +}
> +
> +.right-samples {
> +    fill: none;
> +    stroke: red;
> +    stroke-width: 1.5px;
> +}
> +
> +.smaple-time {
> +    fill: none;
> +    stroke: green;
> +    stroke-width: 1.5px;
> +}
> +
> +.left-mean {
> +    fill: none;
> +    stroke: yellow;
> +    stroke-width: 1.5px;
> +}
> +
> +.right-mean {
> +    fill: none;
> +    stroke: magenta;
> +    stroke-width: 1.5px;
> +}

You can share the rules for fill and stroke-width here.
Comment 6 Said Abou-Hallawa 2015-10-01 17:29:11 PDT
Created attachment 262303 [details]
Patch
Comment 7 Said Abou-Hallawa 2015-10-01 17:48:54 PDT
Comment on attachment 262199 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=262199&action=review

>> PerformanceTests/ChangeLog:14
>> +        * Animometer: Added.
> 
> Please skip this directory in PerformanceTests/Skipped.

Done.

>>> PerformanceTests/Animometer/runner/animometer.html:5
>>> +    <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" defer></script>  
>> 
>> We should not pull scripts from CDNs.  We should put a copy in the repo instead.
> 
> Just make sure we've got approval to put this in the repository.

Done. I made svn cp Websites/perf.webkit.org/public/v2/js/d3/d3.min.js.

>> PerformanceTests/Animometer/runner/resources/animometer.js:104
>> +        element.textContent += " [browser = " + browser + "]";
> 
> Why does this need to be included in the results?
> The user running the browser is perfectly aware of which browser he/she is running.
> Please remove this code as well as benchmarkRunnerClient.browser
> so that people don't mistakenly think we're running different code based on user agent strings.

Done. The browser name was removed. I was helpful when getting a screenshot of the results and paste it in an email.

>> PerformanceTests/Animometer/runner/resources/benchmark-runner.js:1
>> +function BenchmarkRunnerState(suites)
> 
> This code is basically copied from Speedometer.
> Instead of making a copy-paste, please do "svn cp" so that we can see the diff.

Done.

>> PerformanceTests/Animometer/runner/resources/tests.js:47
>> +    name: "HTML Bouncing Particles",
> 
> It's best if we added these suites as we added the actual test contents.
> Please remove them for now.

Done. This file is included along with the tests in the patch attached to https://bugs.webkit.org/show_bug.cgi?id=149053.
Comment 8 Ryosuke Niwa 2015-10-01 21:44:35 PDT
Comment on attachment 262303 [details]
Patch

rs=me.
Comment 9 WebKit Commit Bot 2015-10-02 15:15:50 PDT
Comment on attachment 262303 [details]
Patch

Clearing flags on attachment: 262303

Committed r190526: <http://trac.webkit.org/changeset/190526>
Comment 10 WebKit Commit Bot 2015-10-02 15:15:54 PDT
All reviewed patches have been landed.  Closing bug.