SVG.bench.describe('Generate 10000 circles', function(bench) { bench.test('using SVG.js v2.5.2', function() { for (var i = 0; i < 10000; i++) bench.draw.circle(100,100) }) 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) bench.raw.appendChild(circle) } }) bench.test('using Snap.svg v0.5.1', 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.5.2', 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.5.1', function() { for (var i = 0; i < 10000; i++) bench.snap.circle(50, 50, 100, 100).attr('fill', '#f06') }) })