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

Side by Side Diff: third_party/pkg/angular/perf/parser_perf.dart

Issue 148453003: Updating Angular version (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 11 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 | Annotate | Revision Log
OLDNEW
1 library parser_perf; 1 library parser_perf;
2 2
3 import '_perf.dart'; 3 import '_perf.dart';
4 import 'package:angular/core/module.dart'; 4 import 'package:angular/core/module.dart';
5 import 'package:angular/core/parser/parser_library.dart'; 5 import 'package:angular/core/parser/parser.dart';
6 import 'package:angular/filter/module.dart'; 6 import 'package:angular/filter/module.dart';
7 import 'package:di/di.dart'; 7 import 'package:di/di.dart';
8 import 'package:di/dynamic_injector.dart'; 8 import 'package:di/dynamic_injector.dart';
9 import 'package:intl/intl.dart'; 9 import 'package:intl/intl.dart';
10 10
11 import '../gen/generated_functions.dart' as generated_functions; 11 import '../gen/generated_functions.dart' as generated_functions;
12 import '../gen/generated_getter_setter.dart' as generated_getter_setter; 12 import '../gen/generated_getter_setter.dart' as generated_getter_setter;
13 13
14 main() { 14 main() {
15 var module = new Module() 15 var module = new Module()
16 ..type(Parser, implementedBy: DynamicParser) 16 ..type(Parser, implementedBy: DynamicParser)
17 ..type(ParserBackend, implementedBy: DynamicParserBackend)
17 ..type(SubstringFilter) 18 ..type(SubstringFilter)
18 ..type(IncrementFilter) 19 ..type(IncrementFilter)
19 ..install(new NgFilterModule()); 20 ..install(new NgFilterModule());
20 var injector = new DynamicInjector( 21 var injector = new DynamicInjector(
21 modules: [module], 22 modules: [module],
22 allowImplicitInjection:true); 23 allowImplicitInjection:true);
23 var scope = injector.get(Scope); 24 var scope = injector.get(Scope);
24 var reflectiveParser = injector.get(Parser); 25 var reflectiveParser = injector.get(Parser);
25 var filterMap = injector.get(FilterMap); 26 var filterMap = injector.get(FilterMap);
26 27
27 var generatedParser = new DynamicInjector( 28 var generatedParser = new DynamicInjector(
28 modules: [new Module() 29 modules: [new Module()
29 ..type(Parser, implementedBy: StaticParser) 30 ..type(Parser, implementedBy: StaticParser)
30 ..value(StaticParserFunctions, generated_functions.functions(filterMap)) ], 31 ..value(StaticParserFunctions, generated_functions.functions(filterMap)) ],
31 allowImplicitInjection:true).get(Parser); 32 allowImplicitInjection:true).get(Parser);
32 33
33 var hybridParser = new DynamicInjector( 34 var hybridParser = new DynamicInjector(
34 modules: [new Module() 35 modules: [new Module()
35 ..type(Parser, implementedBy: DynamicParser) 36 ..type(Parser, implementedBy: DynamicParser)
36 ..type(GetterSetter, implementedBy: generated_getter_setter.StaticGetter Setter)], 37 ..type(ParserBackend, implementedBy: DynamicParserBackend)
38 ..type(ClosureMap, implementedBy: generated_getter_setter.StaticClosureM ap)],
37 allowImplicitInjection:true).get(Parser); 39 allowImplicitInjection:true).get(Parser);
38 40
39 scope['a'] = new ATest(); 41 scope['a'] = new ATest();
40 scope['e1'] = new EqualsThrows(); 42 scope['e1'] = new EqualsThrows();
41 scope['o'] = new OTest(); 43 scope['o'] = new OTest();
42 44
43 compare(expr, idealFn) { 45 compare(expr, idealFn) {
44 var nf = new NumberFormat.decimalPattern(); 46 var nf = new NumberFormat.decimalPattern();
45 var reflectionExpr = reflectiveParser(expr); 47 Expression reflectionExpr = reflectiveParser(expr);
46 var generatedExpr = generatedParser(expr); 48 Expression generatedExpr = generatedParser(expr);
47 var hybridExpr = hybridParser(expr); 49 Expression hybridExpr = hybridParser(expr);
48 var measure = (b) => statMeasure(b).mean_ops_sec; 50 var measure = (b) => statMeasure(b).mean_ops_sec;
49 var gTime = measure(() => generatedExpr.eval(scope)); 51 var gTime = measure(() => generatedExpr.eval(scope));
50 var rTime = measure(() => reflectionExpr.eval(scope)); 52 var rTime = measure(() => reflectionExpr.eval(scope));
51 var hTime = measure(() => hybridExpr.eval(scope)); 53 var hTime = measure(() => hybridExpr.eval(scope));
52 var iTime = measure(() => idealFn(scope)); 54 var iTime = measure(() => idealFn(scope));
53 print('$expr => g: ${nf.format(gTime)} ops/sec ' + 55 print('$expr => g: ${nf.format(gTime)} ops/sec ' +
54 'r: ${nf.format(rTime)} ops/sec ' + 56 'r: ${nf.format(rTime)} ops/sec ' +
55 'h: ${nf.format(hTime)} ops/sec ' + 57 'h: ${nf.format(hTime)} ops/sec ' +
56 'i: ${nf.format(iTime)} ops/sec = ' + 58 'i: ${nf.format(iTime)} ops/sec = ' +
57 'i/g: ${nf.format(iTime / gTime)} x ' + 59 'i/g: ${nf.format(iTime / gTime)} x ' +
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 call(a, b) => a + b; 107 call(a, b) => a + b;
106 } 108 }
107 109
108 @NgFilter(name:'substring') 110 @NgFilter(name:'substring')
109 class SubstringFilter { 111 class SubstringFilter {
110 call(String str, startIndex, [endIndex]) { 112 call(String str, startIndex, [endIndex]) {
111 return str.substring(startIndex, endIndex); 113 return str.substring(startIndex, endIndex);
112 } 114 }
113 } 115 }
114 116
OLDNEW
« no previous file with comments | « third_party/pkg/angular/perf/lexer_perf.dart ('k') | third_party/pkg/angular/perf/scope_perf.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698