From d59532cd05f9c414c48e5e19c1c4ac050e187e43 Mon Sep 17 00:00:00 2001 From: wout Date: Sat, 6 Aug 2016 09:31:44 +0200 Subject: Updated benchmarking system --- bench/tests/10000-circles.js | 38 ++++++++++++++++++++++++++ bench/tests/10000-rects.js | 60 +++++++++++++++++++++++++++++++++++++++++ bench/tests/element-creation.js | 59 ---------------------------------------- 3 files changed, 98 insertions(+), 59 deletions(-) create mode 100644 bench/tests/10000-circles.js create mode 100644 bench/tests/10000-rects.js delete mode 100644 bench/tests/element-creation.js (limited to 'bench/tests') diff --git a/bench/tests/10000-circles.js b/bench/tests/10000-circles.js new file mode 100644 index 0000000..467c26a --- /dev/null +++ b/bench/tests/10000-circles.js @@ -0,0 +1,38 @@ +SVG.bench.describe('Generate 10000 circles', function(bench) { + bench.skip('using svg.js v2.3.4', function() { + for (var i = 0; i < 10000; i++) + bench.draw.circle(100,100) + }) + bench.skip('using vanilla js', function() { + for (var i = 0; i < 10000; i++) { + var circle = document.createElementNS(SVG.ns, 'circle') + circle.setAttributeNS(null, 'rx', 50) + circle.setAttributeNS(null, 'ry', 50) + bench.raw.appendChild(circle) + } + }) + bench.skip('using Snap.svg v0.41', function() { + for (var i = 0; i < 10000; i++) + bench.snap.circle(50, 50, 100, 100) + }) +}) + +SVG.bench.describe('Generate 10000 circles with fill', function(bench) { + bench.test('using svg.js v2.3.4', function() { + for (var i = 0; i < 10000; i++) + bench.draw.circle(100,100).fill('#f06') + }) + bench.test('using vanilla js', function() { + for (var i = 0; i < 10000; i++) { + var circle = document.createElementNS(SVG.ns, 'circle') + circle.setAttributeNS(null, 'rx', 50) + circle.setAttributeNS(null, 'ry', 50) + circle.setAttributeNS(null, 'fill', '#f06') + bench.raw.appendChild(circle) + } + }) + bench.test('using Snap.svg v0.41', function() { + for (var i = 0; i < 10000; i++) + bench.snap.circle(50, 50, 100, 100).attr('fill', '#f06') + }) +}) \ No newline at end of file diff --git a/bench/tests/10000-rects.js b/bench/tests/10000-rects.js new file mode 100644 index 0000000..d7b6303 --- /dev/null +++ b/bench/tests/10000-rects.js @@ -0,0 +1,60 @@ +SVG.bench.describe('Generate 10000 rects', function(bench) { + bench.test('using svg.js v2.3.4', function() { + for (var i = 0; i < 10000; i++) + bench.draw.rect(100,100) + }) + bench.test('using vanilla js', function() { + for (var i = 0; i < 10000; i++) { + var rect = document.createElementNS(SVG.ns, 'rect') + rect.setAttributeNS(null, 'height', 100) + rect.setAttributeNS(null, 'width', 100) + bench.raw.appendChild(rect) + } + }) + bench.test('using Snap.svg v0.41', function() { + for (var i = 0; i < 10000; i++) + bench.snap.rect(50, 50, 100, 100) + }) +}) + +SVG.bench.describe('Generate 10000 rects with fill', function(bench) { + bench.test('using svg.js v2.3.4', function() { + for (var i = 0; i < 10000; i++) + bench.draw.rect(100,100).fill('#f06') + }) + bench.test('using vanilla js', function() { + for (var i = 0; i < 10000; i++) { + var rect = document.createElementNS(SVG.ns, 'rect') + rect.setAttributeNS(null, 'height', 100) + rect.setAttributeNS(null, 'width', 100) + rect.setAttributeNS(null, 'fill', '#f06') + bench.raw.appendChild(rect) + } + }) + bench.test('using Snap.svg v0.41', function() { + for (var i = 0; i < 10000; i++) + bench.snap.rect(50, 50, 100, 100).attr('fill', '#f06') + }) +}) + +SVG.bench.describe('Generate 10000 rects with position and fill', function(bench) { + bench.test('using svg.js v2.3.4', function() { + for (var i = 0; i < 10000; i++) + bench.draw.rect(100,100).move(50,50).fill('#f06') + }) + bench.test('using vanilla js', function() { + for (var i = 0; i < 10000; i++) { + var rect = document.createElementNS(SVG.ns, 'rect') + rect.setAttributeNS(null, 'height', 100) + rect.setAttributeNS(null, 'width', 100) + rect.setAttributeNS(null, 'fill', '#f06') + rect.setAttributeNS(null, 'x', 50) + rect.setAttributeNS(null, 'y', 50) + bench.raw.appendChild(rect) + } + }) + bench.test('using Snap.svg v0.41', function() { + for (var i = 0; i < 10000; i++) + bench.snap.rect(50, 50, 100, 100).attr('fill', '#f06') + }) +}) \ No newline at end of file diff --git a/bench/tests/element-creation.js b/bench/tests/element-creation.js deleted file mode 100644 index f0e4143..0000000 --- a/bench/tests/element-creation.js +++ /dev/null @@ -1,59 +0,0 @@ -(function(bench) { - var svgns = 'http://www.w3.org/2000/svg' - - bench.test('svg.js v2.3.4: generate 10000 rects', function() { - for (var i = 0; i < 10000; i++) - bench.draw.rect(100,100) - }) - bench.test('native: generate 10000 rects', function() { - for (var i = 0; i < 10000; i++) { - var rect = document.createElementNS(svgns, 'rect') - rect.setAttributeNS(null, 'height', 100) - rect.setAttributeNS(null, 'width', 100) - bench.raw.appendChild(rect) - } - }) - bench.test('Snap.svg v0.41: generate 10000 rects', function() { - for (var i = 0; i < 10000; i++) - bench.snap.rect(50, 50, 100, 100) - }) - - bench.test('svg.js v2.3.4: generate 10000 rects with fill', function() { - for (var i = 0; i < 10000; i++) - bench.draw.rect(100,100).fill('#f06') - }) - bench.test('native: generate 10000 rects with fill', function() { - for (var i = 0; i < 10000; i++) { - var rect = document.createElementNS(svgns, 'rect') - rect.setAttributeNS(null, 'height', 100) - rect.setAttributeNS(null, 'width', 100) - rect.setAttributeNS(null, 'fill', '#f06') - bench.raw.appendChild(rect) - } - }) - bench.test('Snap.svg v0.41: generate 10000 rects with fill', function() { - for (var i = 0; i < 10000; i++) - bench.snap.rect(50, 50, 100, 100).attr('fill', '#f06') - }) - - bench.test('svg.js v2.3.4: generate 10000 rects with position and fill', function() { - for (var i = 0; i < 10000; i++) - bench.draw.rect(100,100).move(50,50).fill('#f06') - }) - bench.test('native: generate 10000 rects with position and fill', function() { - for (var i = 0; i < 10000; i++) { - var rect = document.createElementNS(svgns, 'rect') - rect.setAttributeNS(null, 'height', 100) - rect.setAttributeNS(null, 'width', 100) - rect.setAttributeNS(null, 'fill', '#f06') - rect.setAttributeNS(null, 'x', 50) - rect.setAttributeNS(null, 'y', 50) - bench.raw.appendChild(rect) - } - }) - bench.test('Snap.svg v0.41: generate 10000 rects with fill and position', function() { - for (var i = 0; i < 10000; i++) - bench.snap.rect(50, 50, 100, 100).attr('fill', '#f06') - }) - -})(SVG.bench) \ No newline at end of file -- cgit v1.2.3