From 270874248df9a034b24d49d8db00cba6529e7f4b Mon Sep 17 00:00:00 2001 From: wout Date: Fri, 7 Apr 2017 20:20:02 +0200 Subject: [PATCH] Updated CHANGELOG --- CHANGELOG.md | 3 ++- bench/runner.html | 1 + bench/tests/10000-circles.js | 4 ++-- bench/tests/10000-each.js | 27 +++++++++++++++++++++++++++ bench/tests/10000-pathArrays.js | 6 +++--- bench/tests/10000-paths.js | 2 +- bench/tests/10000-rects.js | 8 ++++---- 7 files changed, 40 insertions(+), 11 deletions(-) create mode 100644 bench/tests/10000-each.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 2878bac..2876973 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,10 +34,11 @@ The document follows the conventions described in [“Keep a CHANGELOG”](http: ### Fixed - `clear()` does not remove the parser in svg documents anymore -## [2.5.1] - 2017-03-27 +## [2.5.1](https://github.com/svgdotjs/svg.js/releases/tag/2.5.1) - 2017-03-27 ### Fixed - fixed `SVG.PathArray.parse` that did not correctly parsed flat arrays +- prevented unnecessary parsing of point or path strings ### Changed - make svgjs ready to be used on the server diff --git a/bench/runner.html b/bench/runner.html index 31b97c1..719f385 100644 --- a/bench/runner.html +++ b/bench/runner.html @@ -40,6 +40,7 @@ + diff --git a/bench/tests/10000-circles.js b/bench/tests/10000-circles.js index da2a3de..85dadb2 100644 --- a/bench/tests/10000-circles.js +++ b/bench/tests/10000-circles.js @@ -1,5 +1,5 @@ SVG.bench.describe('Generate 10000 circles', function(bench) { - bench.test('using SVG.js v2.4.0', function() { + bench.test('using SVG.js v2.5.1', function() { for (var i = 0; i < 10000; i++) bench.draw.circle(100,100) }) @@ -18,7 +18,7 @@ SVG.bench.describe('Generate 10000 circles', function(bench) { }) SVG.bench.describe('Generate 10000 circles with fill', function(bench) { - bench.test('using SVG.js v2.4.0', function() { + bench.test('using SVG.js v2.5.1', function() { for (var i = 0; i < 10000; i++) bench.draw.circle(100,100).fill('#f06') }) diff --git a/bench/tests/10000-each.js b/bench/tests/10000-each.js new file mode 100644 index 0000000..c47eb60 --- /dev/null +++ b/bench/tests/10000-each.js @@ -0,0 +1,27 @@ +SVG.bench.describe('each() vs forEach()', function(bench) { + // preparation + var list = [] + + for (var i = 99; i >= 0; i--) + list.push(bench.draw.rect(100, 50)) + + var set = new SVG.Set(list) + + + bench.test('10000 x each()', function() { + for (var i = 0; i < 10000; i++) { + set.each(function() { + this.fill('#f06') + }) + } + }) + + bench.test('10000 x forEach()', function() { + for (var i = 0; i < 10000; i++) { + list.forEach(function(e) { + e.fill('#f06') + }) + } + }) + +}) \ No newline at end of file diff --git a/bench/tests/10000-pathArrays.js b/bench/tests/10000-pathArrays.js index fc34e5f..b30229a 100644 --- a/bench/tests/10000-pathArrays.js +++ b/bench/tests/10000-pathArrays.js @@ -5,17 +5,17 @@ SVG.bench.describe('Generate 10000 pathArrays', function(bench) { var data3 = 'M10 10-45-30.5.5 .89L2e-2.5.5.5-.5C.5.5.5.5.5.5L-3-4z' - bench.test('using SVG.js v2.4.0', function() { + bench.test('using SVG.js v2.5.1', function() { for (var i = 0; i < 10000; i++) new SVG.PathArray(data) }) - bench.test('using SVG.js v2.4.0 more data', function() { + bench.test('using SVG.js v2.5.1 more data', function() { for (var i = 0; i < 10000; i++) new SVG.PathArray(data2) }) - bench.test('using SVG.js v2.4.0 complicated data', function() { + bench.test('using SVG.js v2.5.1 complicated data', function() { for (var i = 0; i < 10000; i++) new SVG.PathArray(data3) }) diff --git a/bench/tests/10000-paths.js b/bench/tests/10000-paths.js index 378cb29..54602dc 100644 --- a/bench/tests/10000-paths.js +++ b/bench/tests/10000-paths.js @@ -1,7 +1,7 @@ SVG.bench.describe('Generate 10000 paths', function(bench) { var data = 'M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100' - bench.test('using SVG.js v2.4.0', function() { + bench.test('using SVG.js v2.5.1', function() { for (var i = 0; i < 10000; i++) bench.draw.path(data) }) diff --git a/bench/tests/10000-rects.js b/bench/tests/10000-rects.js index dee09b4..4fa6b29 100644 --- a/bench/tests/10000-rects.js +++ b/bench/tests/10000-rects.js @@ -1,5 +1,5 @@ SVG.bench.describe('Generate 10000 rects', function(bench) { - bench.test('using SVG.js v2.4.0', function() { + bench.test('using SVG.js v2.5.1', function() { for (var i = 0; i < 10000; i++) bench.draw.rect(100,100) }) @@ -19,7 +19,7 @@ SVG.bench.describe('Generate 10000 rects', function(bench) { SVG.bench.describe('Generate 10000 rects with fill', function(bench) { - bench.test('using SVG.js v2.4.0', function() { + bench.test('using SVG.js v2.5.1', function() { for (var i = 0; i < 10000; i++) bench.draw.rect(100,100).fill('#f06') }) @@ -40,7 +40,7 @@ SVG.bench.describe('Generate 10000 rects with fill', function(bench) { SVG.bench.describe('Generate 10000 rects with position and fill', function(bench) { - bench.test('using SVG.js v2.4.0', function() { + bench.test('using SVG.js v2.5.1', function() { for (var i = 0; i < 10000; i++) bench.draw.rect(100,100).move(50,50).fill('#f06') }) @@ -63,7 +63,7 @@ SVG.bench.describe('Generate 10000 rects with position and fill', function(bench SVG.bench.describe('Generate 10000 rects with gradient fill', function(bench) { - bench.test('using SVG.js v2.4.0', function() { + bench.test('using SVG.js v2.5.1', function() { for (var i = 0; i < 10000; i++) { var g = bench.draw.gradient('linear', function(stop) { stop.at(0, '#000')