Bug 152679 - Update benchmark test suite
Summary: Update benchmark test suite
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Animations (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Jon Lee
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2016-01-03 18:13 PST by Jon Lee
Modified: 2016-01-07 20:30 PST (History)
7 users (show)

See Also:


Attachments
1. Fix tests for other browsers. (3.35 KB, patch)
2016-01-04 14:31 PST, Jon Lee
no flags Details | Formatted Diff | Diff
2. Move algorithm.js and sampler.js to tests/ and benchmark-runner.js to runner/. (48.82 KB, patch)
2016-01-04 14:31 PST, Jon Lee
no flags Details | Formatted Diff | Diff
3. Add a new test. (70.26 KB, patch)
2016-01-04 14:31 PST, Jon Lee
no flags Details | Formatted Diff | Diff
3. Add new test (Take 2) (13.25 KB, patch)
2016-01-07 19:00 PST, Jon Lee
no flags Details | Formatted Diff | Diff
1. Fix tests for other browsers (Take 2) (3.28 KB, patch)
2016-01-07 19:02 PST, Jon Lee
no flags Details | Formatted Diff | Diff
2. Move algorithm.js and sampler.js (Take 2) (48.82 KB, patch)
2016-01-07 19:03 PST, Jon Lee
simon.fraser: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jon Lee 2016-01-03 18:13:58 PST
Update tests.
Comment 1 Radar WebKit Bug Importer 2016-01-03 18:14:11 PST
<rdar://problem/24034507>
Comment 2 Jon Lee 2016-01-04 14:31:17 PST
Created attachment 268232 [details]
1. Fix tests for other browsers.
Comment 3 Jon Lee 2016-01-04 14:31:36 PST
Created attachment 268233 [details]
2. Move algorithm.js and sampler.js to tests/ and benchmark-runner.js to runner/.
Comment 4 Jon Lee 2016-01-04 14:31:56 PST
Created attachment 268234 [details]
3. Add a new test.
Comment 5 Said Abou-Hallawa 2016-01-04 14:43:45 PST
Comment on attachment 268233 [details]
2. Move algorithm.js and sampler.js to tests/ and benchmark-runner.js to runner/.

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

> PerformanceTests/ChangeLog:16
> +        into utilities.js.

Did you mean "into extensions.js"?
Comment 6 Said Abou-Hallawa 2016-01-04 15:20:13 PST
Comment on attachment 268234 [details]
3. Add a new test.

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

> PerformanceTests/Animometer/resources/extensions.js:96
> +            return new Point(this.x + other, this.y + other);

I am not sure if adding a scalar value to a point/size is something meaningful.
Comment 7 Said Abou-Hallawa 2016-01-04 15:20:46 PST
All looks good to me. Unofficial r=me.
Comment 8 Jon Lee 2016-01-04 15:26:19 PST
Comment on attachment 268233 [details]
2. Move algorithm.js and sampler.js to tests/ and benchmark-runner.js to runner/.

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

>> PerformanceTests/ChangeLog:16
>> +        into utilities.js.
> 
> Did you mean "into extensions.js"?

Yes
Comment 9 Jon Lee 2016-01-04 15:26:52 PST
(In reply to comment #4)
> Created attachment 268234 [details]
> 3. Add a new test.

I will check in a version with the corrected ChangeLog.
Comment 10 Jon Lee 2016-01-07 19:00:12 PST
Created attachment 268524 [details]
3. Add new test (Take 2)
Comment 11 Jon Lee 2016-01-07 19:02:58 PST
Created attachment 268526 [details]
1. Fix tests for other browsers (Take 2)
Comment 12 Jon Lee 2016-01-07 19:03:49 PST
Created attachment 268527 [details]
2. Move algorithm.js and sampler.js (Take 2)
Comment 13 Simon Fraser (smfr) 2016-01-07 19:06:15 PST
Comment on attachment 268526 [details]
1. Fix tests for other browsers (Take 2)

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

> PerformanceTests/ChangeLog:14
> +        (CanvasElectron.prototype._draw): Some browsers don't support ellipse.

Which ones?
Comment 14 Simon Fraser (smfr) 2016-01-07 19:06:40 PST
Comment on attachment 268526 [details]
1. Fix tests for other browsers (Take 2)

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

> PerformanceTests/Animometer/resources/extensions.js:70
> +    var rect = element.getBoundingClientRect();
> +    return new Point(rect.width, rect.height);

Are you sure this doesn't cause layout thrashing?
Comment 15 Simon Fraser (smfr) 2016-01-07 19:16:33 PST
Comment on attachment 268524 [details]
3. Add new test (Take 2)

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

> PerformanceTests/Animometer/resources/extensions.js:96
> +        if(isNaN(other.x))
> +            return new Point(this.x + other, this.y + other);

Weird but ok!

> PerformanceTests/Animometer/tests/master/resources/dom-particles.js:25
> +        this.element.style.backgroundColor = "hsl(" + (((Date.now()/2000)%1)*360) + ", 70%, 45%)";

Are the outer parens around Date.now()... necessary?
Comment 16 Jon Lee 2016-01-07 19:18:21 PST
(In reply to comment #13)
> Comment on attachment 268526 [details]
> 1. Fix tests for other browsers (Take 2)
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=268526&action=review
> 
> > PerformanceTests/ChangeLog:14
> > +        (CanvasElectron.prototype._draw): Some browsers don't support ellipse.
> 
> Which ones?

Firefox.
Comment 17 Jon Lee 2016-01-07 19:22:49 PST
(In reply to comment #14)
> Comment on attachment 268526 [details]
> 1. Fix tests for other browsers (Take 2)
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=268526&action=review
> 
> > PerformanceTests/Animometer/resources/extensions.js:70
> > +    var rect = element.getBoundingClientRect();
> > +    return new Point(rect.width, rect.height);
> 
> Are you sure this doesn't cause layout thrashing?

This function is only called when the stage is initialized, and for graphing. It is not called during the benchmark run.

I wouldn't expect any benchmark to make a call to this because it should be caching its size.
Comment 18 Jon Lee 2016-01-07 19:25:01 PST
(In reply to comment #15)
> Comment on attachment 268524 [details]
> 3. Add new test (Take 2)
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=268524&action=review
> 
> > PerformanceTests/Animometer/resources/extensions.js:96
> > +        if(isNaN(other.x))
> > +            return new Point(this.x + other, this.y + other);
> 
> Weird but ok!
> 
> > PerformanceTests/Animometer/tests/master/resources/dom-particles.js:25
> > +        this.element.style.backgroundColor = "hsl(" + (((Date.now()/2000)%1)*360) + ", 70%, 45%)";
> 
> Are the outer parens around Date.now()... necessary?

No. This calculation is done enough that I'll probably factor it out anyway in a future patch.
Comment 19 WebKit Commit Bot 2016-01-07 19:54:54 PST
Comment on attachment 268526 [details]
1. Fix tests for other browsers (Take 2)

Clearing flags on attachment: 268526

Committed r194752: <http://trac.webkit.org/changeset/194752>
Comment 20 Jon Lee 2016-01-07 19:59:02 PST
Committed r194753: <http://trac.webkit.org/changeset/194753>
Comment 21 Jon Lee 2016-01-07 19:59:16 PST
(In reply to comment #20)
> Committed r194753: <http://trac.webkit.org/changeset/194753>

This is patch #2.
Comment 22 Jon Lee 2016-01-07 20:28:44 PST
Committed r194755: <http://trac.webkit.org/changeset/194755>
Comment 23 Jon Lee 2016-01-07 20:30:17 PST
fix in r194756