From 49e06eace58d871972f0cf3ec92aa28e19c4b02b Mon Sep 17 00:00:00 2001 From: jankuca Date: Tue, 20 Aug 2013 17:19:49 -0700 Subject: chore($parse): convert parser() and lex() to prototype-based code This reduces memory consumption of parsed angular expressions and speeds up parsing. This JSPerf case demonstrates the performance boost: http://jsperf.com/closure-vs-prototype-ngparser Chrome: 1.5–2x boost FF: slightly slower (I would love to know why) IE: 4x boost To be clear, this doesn't have any impact on runtime performance of expressions as demostrated in this JSPerf: http://jsperf.com/angular-parser-changes Closes #3681 --- test/ng/parseSpec.js | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test/ng/parseSpec.js') diff --git a/test/ng/parseSpec.js b/test/ng/parseSpec.js index 44b648c5..87cc79af 100644 --- a/test/ng/parseSpec.js +++ b/test/ng/parseSpec.js @@ -2,6 +2,15 @@ describe('parser', function() { describe('lexer', function() { + var lex; + + beforeEach(function () { + lex = function () { + var lexer = new Lexer(); + return lexer.lex.apply(lexer, arguments); + }; + }); + it('should tokenize a string', function() { var tokens = lex("a.bc[22]+1.3|f:'a\\\'c':\"d\\\"e\""); var i = 0; -- cgit v1.2.3