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

Side by Side Diff: test/codegen/expect/BenchmarkBase.js

Issue 1355893003: Rewire DDC to use the analyzer task model (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 3 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 unified diff | Download patch
OLDNEW
1 dart_library.library('BenchmarkBase', null, /* Imports */[ 1 dart_library.library('BenchmarkBase', null, /* Imports */[
2 "dart_runtime/dart", 2 "dart_runtime/dart",
3 'dart/core' 3 'dart/core'
4 ], /* Lazy imports */[ 4 ], /* Lazy imports */[
5 ], function(exports, dart, core) { 5 ], function(exports, dart, core) {
6 'use strict'; 6 'use strict';
7 let dartx = dart.dartx; 7 let dartx = dart.dartx;
8 class Expect extends core.Object { 8 class Expect extends core.Object {
9 static equals(expected, actual) { 9 static equals(expected, actual) {
10 if (!dart.equals(expected, actual)) { 10 if (!dart.equals(expected, actual)) {
11 dart.throw(`Values not equal: ${expected} vs ${actual}`); 11 dart.throw(`Values not equal: ${expected} vs ${actual}`);
12 } 12 }
13 } 13 }
14 static listEquals(expected, actual) { 14 static listEquals(expected, actual) {
15 if (expected[dartx.length] != actual[dartx.length]) { 15 if (expected[dartx.length] != actual[dartx.length]) {
16 dart.throw(`Lists have different lengths: ${expected[dartx.length]} vs $ {actual[dartx.length]}`); 16 dart.throw(`Lists have different lengths: ${expected[dartx.length]} vs $ {actual[dartx.length]}`);
17 } 17 }
18 for (let i = 0; dart.notNull(i) < dart.notNull(actual[dartx.length]); i = dart.notNull(i) + 1) { 18 for (let i = 0; dart.notNull(i) < dart.notNull(actual[dartx.length]); i = dart.notNull(i) + 1) {
19 Expect.equals(expected[dartx.get](i), actual[dartx.get](i)); 19 dart.dcall(Expect.equals, expected[dartx.get](i), actual[dartx.get](i));
20 } 20 }
21 } 21 }
22 fail(message) { 22 fail(message) {
23 dart.throw(message); 23 dart.throw(message);
24 } 24 }
25 } 25 }
26 dart.setSignature(Expect, { 26 dart.setSignature(Expect, {
27 methods: () => ({fail: [dart.dynamic, [dart.dynamic]]}), 27 methods: () => ({fail: [dart.dynamic, [dart.dynamic]]}),
28 statics: () => ({ 28 statics: () => ({
29 equals: [dart.void, [dart.dynamic, dart.dynamic]], 29 equals: [dart.void, [dart.dynamic, dart.dynamic]],
30 listEquals: [dart.void, [core.List, core.List]] 30 listEquals: [dart.void, [core.List, core.List]]
31 }), 31 }),
32 names: ['equals', 'listEquals'] 32 names: ['equals', 'listEquals']
33 }); 33 });
34 class BenchmarkBase extends core.Object { 34 class BenchmarkBase extends core.Object {
35 BenchmarkBase(name) { 35 BenchmarkBase(name) {
36 this.name = name; 36 this.name = name;
37 } 37 }
38 run() {} 38 run() {}
39 warmup() { 39 warmup() {
40 this.run(); 40 dart.dcall(this.run);
41 } 41 }
42 exercise() { 42 exercise() {
43 for (let i = 0; dart.notNull(i) < 10; i = dart.notNull(i) + 1) { 43 for (let i = 0; dart.notNull(i) < 10; i = dart.notNull(i) + 1) {
44 this.run(); 44 dart.dcall(this.run);
45 } 45 }
46 } 46 }
47 setup() {} 47 setup() {}
48 teardown() {} 48 teardown() {}
49 static measureFor(f, timeMinimum) { 49 static measureFor(f, timeMinimum) {
50 let time = 0; 50 let time = 0;
51 let iter = 0; 51 let iter = 0;
52 let watch = new core.Stopwatch(); 52 let watch = new core.Stopwatch();
53 watch.start(); 53 dart.dcall(watch.start);
54 let elapsed = 0; 54 let elapsed = 0;
55 while (dart.notNull(elapsed) < dart.notNull(timeMinimum)) { 55 while (dart.notNull(elapsed) < dart.notNull(timeMinimum)) {
56 dart.dcall(f); 56 dart.dcall(f);
57 elapsed = watch.elapsedMilliseconds; 57 elapsed = watch.elapsedMilliseconds;
58 iter = dart.notNull(iter) + 1; 58 iter = dart.notNull(iter) + 1;
59 } 59 }
60 return 1000.0 * dart.notNull(elapsed) / dart.notNull(iter); 60 return 1000.0 * dart.notNull(elapsed) / dart.notNull(iter);
61 } 61 }
62 measure() { 62 measure() {
63 this.setup(); 63 dart.dcall(this.setup);
64 BenchmarkBase.measureFor(dart.fn(() => { 64 dart.dcall(BenchmarkBase.measureFor, dart.fn(() => {
65 this.warmup(); 65 dart.dcall(this.warmup);
66 }), 100); 66 }), 100);
67 let result = BenchmarkBase.measureFor(dart.fn(() => { 67 let result = dart.dcall(BenchmarkBase.measureFor, dart.fn(() => {
68 this.exercise(); 68 dart.dcall(this.exercise);
69 }), 2000); 69 }), 2000);
70 this.teardown(); 70 dart.dcall(this.teardown);
71 return result; 71 return result;
72 } 72 }
73 report() { 73 report() {
74 let score = this.measure(); 74 let score = dart.dcall(this.measure);
75 core.print(`${this.name}(RunTime): ${score} us.`); 75 dart.dcall(core.print, `${this.name}(RunTime): ${score} us.`);
76 } 76 }
77 } 77 }
78 dart.setSignature(BenchmarkBase, { 78 dart.setSignature(BenchmarkBase, {
79 constructors: () => ({BenchmarkBase: [BenchmarkBase, [core.String]]}), 79 constructors: () => ({BenchmarkBase: [BenchmarkBase, [core.String]]}),
80 methods: () => ({ 80 methods: () => ({
81 run: [dart.void, []], 81 run: [dart.void, []],
82 warmup: [dart.void, []], 82 warmup: [dart.void, []],
83 exercise: [dart.void, []], 83 exercise: [dart.void, []],
84 setup: [dart.void, []], 84 setup: [dart.void, []],
85 teardown: [dart.void, []], 85 teardown: [dart.void, []],
86 measure: [core.double, []], 86 measure: [core.double, []],
87 report: [dart.void, []] 87 report: [dart.void, []]
88 }), 88 }),
89 statics: () => ({measureFor: [core.double, [core.Function, core.int]]}), 89 statics: () => ({measureFor: [core.double, [core.Function, core.int]]}),
90 names: ['measureFor'] 90 names: ['measureFor']
91 }); 91 });
92 // Exports: 92 // Exports:
93 exports.Expect = Expect; 93 exports.Expect = Expect;
94 exports.BenchmarkBase = BenchmarkBase; 94 exports.BenchmarkBase = BenchmarkBase;
95 }); 95 });
OLDNEW
« pubspec.yaml ('K') | « pubspec.yaml ('k') | test/codegen/expect/BenchmarkBase.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698