From 51c02f236c682e55db1d7406db5841232da5765d Mon Sep 17 00:00:00 2001 From: Corey Johnson & Nathan Sobo Date: Thu, 8 Mar 2012 18:11:40 -0800 Subject: [PATCH 1/5] add fpbenchmark and fbenchmark --- benchmark/benchmark-helper.coffee | 14 +++++++++----- benchmark/benchmark-suite.coffee | 4 ++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/benchmark/benchmark-helper.coffee b/benchmark/benchmark-helper.coffee index 5a4e8de99..4cea25d70 100644 --- a/benchmark/benchmark-helper.coffee +++ b/benchmark/benchmark-helper.coffee @@ -15,14 +15,18 @@ keymap.bindKeys '*', $(document).on 'close', -> window.close() $(document).on 'show-console', -> window.showConsole() -window.profile = (description, fn) -> - window.showConsole() - window.benchmark(description, fn, true) window.pbenchmark = window.profile +window.fpbenchmark = (description, fn) -> window.profile(description, fn, true) +window.fbenchmark = (description, fn, profile) -> window.benchmark(description, fn, profile, true) -window.benchmark = (description, fn, profile=false) -> - it description, -> +window.profile = (description, fn, focused) -> + window.showConsole() + window.benchmark(description, fn, true, focused) + +window.benchmark = (description, fn, profile=false, focused=false) -> + method = if focused then fit else it + method description, -> count = 100 total = measure -> console.profile(description) if profile diff --git a/benchmark/benchmark-suite.coffee b/benchmark/benchmark-suite.coffee index ea12deb2f..f72621503 100644 --- a/benchmark/benchmark-suite.coffee +++ b/benchmark/benchmark-suite.coffee @@ -17,11 +17,11 @@ describe "Editor", -> editor.insertText('x') editor.backspace() - fdescribe "when editing a ~300 line CoffeeScript file", -> + describe "when editing a ~300 line CoffeeScript file", -> beforeEach -> editor.setBuffer new Buffer(require.resolve('fixtures/medium.coffee')) - benchmark "inserting and deleting a character", -> + fbenchmark "inserting and deleting a character", -> editor.insertText('x') editor.backspace() From 095d2c0f19608c4775f85e8e9cf51bb5242fd634 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 8 Mar 2012 18:12:46 -0800 Subject: [PATCH 2/5] un-f benchmark --- benchmark/benchmark-suite.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmark/benchmark-suite.coffee b/benchmark/benchmark-suite.coffee index f72621503..4c398710d 100644 --- a/benchmark/benchmark-suite.coffee +++ b/benchmark/benchmark-suite.coffee @@ -21,7 +21,7 @@ describe "Editor", -> beforeEach -> editor.setBuffer new Buffer(require.resolve('fixtures/medium.coffee')) - fbenchmark "inserting and deleting a character", -> + benchmark "inserting and deleting a character", -> editor.insertText('x') editor.backspace() From e673f570ccbb9c4b83f2aca8faad1ba871c62f06 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 8 Mar 2012 18:17:58 -0800 Subject: [PATCH 3/5] We have to have pfbenchmark! I love the dan dan noodles. --- benchmark/benchmark-helper.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/benchmark/benchmark-helper.coffee b/benchmark/benchmark-helper.coffee index 4cea25d70..c6086e7f3 100644 --- a/benchmark/benchmark-helper.coffee +++ b/benchmark/benchmark-helper.coffee @@ -18,6 +18,7 @@ $(document).on 'show-console', -> window.showConsole() window.pbenchmark = window.profile window.fpbenchmark = (description, fn) -> window.profile(description, fn, true) +window.pfbenchmark = window.fpbenchmark window.fbenchmark = (description, fn, profile) -> window.benchmark(description, fn, profile, true) window.profile = (description, fn, focused) -> From 1ce161504dda34bbc208a8740b086c203a74c999 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 8 Mar 2012 18:25:18 -0800 Subject: [PATCH 4/5] Benchmark cascading syntax changes by adding a quote to file --- benchmark/benchmark-suite.coffee | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/benchmark/benchmark-suite.coffee b/benchmark/benchmark-suite.coffee index 4c398710d..02fcd9b1b 100644 --- a/benchmark/benchmark-suite.coffee +++ b/benchmark/benchmark-suite.coffee @@ -25,3 +25,7 @@ describe "Editor", -> editor.insertText('x') editor.backspace() + benchmark "inserting and deleting a character that causes massive token changed", -> + editor.insertText('"') + editor.backspace() + From 9be4dd5053b573549eeeba92cdcb27f9d57d4170 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Thu, 8 Mar 2012 18:26:06 -0800 Subject: [PATCH 5/5] Use DOM's querySelector instead of JQuery's Swizzle for getLineElement --- src/atom/editor.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/atom/editor.coffee b/src/atom/editor.coffee index aff768fc1..fa545577b 100644 --- a/src/atom/editor.coffee +++ b/src/atom/editor.coffee @@ -214,7 +214,7 @@ class Editor extends View @getLineElement(row).remove() getLineElement: (row) -> - @lines.find("div.line:eq(#{row})") + $(@lines[0].querySelector("div.line")[row]) toggleSoftWrap: -> @setSoftWrap(not @softWrap)