From b93ee2d876f55c4b31406b3d5993dcdb1431bc70 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Mon, 6 Aug 2012 18:28:51 -0600 Subject: [PATCH] Add benchmark for tokenization. --- benchmark/benchmark-helper.coffee | 5 +++++ benchmark/benchmark-suite.coffee | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/benchmark/benchmark-helper.coffee b/benchmark/benchmark-helper.coffee index 2d836313f..3be4ea426 100644 --- a/benchmark/benchmark-helper.coffee +++ b/benchmark/benchmark-helper.coffee @@ -4,9 +4,12 @@ _ = require 'underscore' Keymap = require 'keymap' Point = require 'point' RootView = require 'root-view' +Project = require 'project' require 'window' +requireStylesheet "jasmine.css" + RootView.prototype.loadUserConfiguration = -> keymap = new Keymap @@ -24,6 +27,8 @@ window.fbenchmark = (args...) -> window.benchmark(args..., focused: true) window.fpbenchmark = (args...) -> window.benchmark(args..., profile: true, focused: true) window.pfbenchmark = window.fpbenchmark +window.benchmarkFixturesProject = new Project(require.resolve 'benchmark/fixtures') + window.benchmark = (args...) -> description = args.shift() if typeof args[0] is 'number' diff --git a/benchmark/benchmark-suite.coffee b/benchmark/benchmark-suite.coffee index db66ec394..e599c410f 100644 --- a/benchmark/benchmark-suite.coffee +++ b/benchmark/benchmark-suite.coffee @@ -1,7 +1,7 @@ -Buffer = require 'buffer' -fs = require 'fs' require 'benchmark-helper' +fs = require 'fs' $ = require 'jquery' +TokenizedBuffer = require 'tokenized-buffer' describe "editor.", -> editor = null @@ -79,3 +79,15 @@ describe "editor.", -> benchmark "move-to-beginning-of-word", -> editor.moveCursorToBeginningOfWord() editor.setCursorScreenPosition(endPosition) + +describe "TokenizedBuffer.", -> + describe "coffee-script-grammar.", -> + [languageMode, buffer] = [] + + beforeEach -> + editSession = benchmarkFixturesProject.buildEditSessionForPath('medium.coffee') + { languageMode, buffer } = editSession + + pfbenchmark "construction", 5, -> + new TokenizedBuffer(buffer, { languageMode, tabText: ' '}) +