From: joineral32 Date: Mon, 15 Aug 2016 21:29:49 +0000 (-0400) Subject: Added benchmarks for some supported operations X-Git-Tag: 2.15.0~15^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6f9f5b026932b7cb3a0d1a8a613b49cac16afd42;p=thirdparty%2Fmoment.git Added benchmarks for some supported operations --- diff --git a/benchmarks/add.js b/benchmarks/add.js new file mode 100644 index 000000000..1892691db --- /dev/null +++ b/benchmarks/add.js @@ -0,0 +1,22 @@ +var Benchmark = require('benchmark'), + moment = require("./../moment.js"), + base = moment('2013-05-25'); + +var unitsUnderTest = ["milliseconds", "seconds", "minutes", "hours", "days", "weeks", "months", "quarters", "years"]; +var tests = unitsUnderTest.reduce(function (testsSoFar, unit) { + testsSoFar["add " + unit] = generateTestForUnit(unit); + return testsSoFar; +}, {}); + +function generateTestForUnit(unit) { + return { + setup: function(){var base = base; var unit = unit;}, + fn: function(){base.add(8, unit);}, + async: true + }; +} + +module.exports = { + name: 'add', + tests: tests +}; diff --git a/benchmarks/endOf.js b/benchmarks/endOf.js new file mode 100644 index 000000000..e179d9409 --- /dev/null +++ b/benchmarks/endOf.js @@ -0,0 +1,22 @@ +var Benchmark = require('benchmark'), + moment = require("./../moment.js"), + base = moment('2013-05-25'); + +var unitsUnderTest = ["second", "minute", "hour", "date", "day", "isoWeek", "week", "month", "quarter", "year"]; +var tests = unitsUnderTest.reduce(function (testsSoFar, unit) { + testsSoFar["endOf " + unit] = generateTestForUnit(unit); + return testsSoFar; +}, {}); + +function generateTestForUnit(unit) { + return { + setup: function(){var base = base; var unit = unit;}, + fn: function(){base.endOf(unit);}, + async: true + }; +} + +module.exports = { + name: 'endOf', + tests: tests +}; diff --git a/benchmarks/query.js b/benchmarks/query.js new file mode 100644 index 000000000..468e57b62 --- /dev/null +++ b/benchmarks/query.js @@ -0,0 +1,40 @@ +var Benchmark = require('benchmark'), + moment = require("./../moment.js"), + base = moment('2013-05-25'); + + +module.exports = { + name: 'clone', + tests: { + isBefore_true: { + onComplete: function(){}, + fn: function(){base.isBefore('2013-06-25');}, + async: true + }, + isBefore_self: { + onComplete: function(){}, + fn: function(){base.isBefore('2013-05-25');}, + async: true + }, + isBefore_false: { + onComplete: function(){}, + fn: function(){base.isBefore('2013-04-25');}, + async: true + }, + isAfter_true: { + onComplete: function(){}, + fn: function(){base.isAfter('2013-04-25');}, + async: true + }, + isAfter_self: { + onComplete: function(){}, + fn: function(){base.isAfter('2013-05-25');}, + async: true + }, + isAfter_false: { + onComplete: function(){}, + fn: function(){base.isAfter('2013-06-25');}, + async: true + } + } +}; diff --git a/benchmarks/startOf.js b/benchmarks/startOf.js new file mode 100644 index 000000000..204e9ad7d --- /dev/null +++ b/benchmarks/startOf.js @@ -0,0 +1,22 @@ +var Benchmark = require('benchmark'), + moment = require("./../moment.js"), + base = moment('2013-05-25'); + +var unitsUnderTest = ["second", "minute", "hour", "date", "day", "isoWeek", "week", "month", "quarter", "year"]; +var tests = unitsUnderTest.reduce(function (testsSoFar, unit) { + testsSoFar["startOf " + unit] = generateTestForUnit(unit); + return testsSoFar; +}, {}); + +function generateTestForUnit(unit) { + return { + setup: function(){var base = base; var unit = unit;}, + fn: function(){base.startOf(unit);}, + async: true + }; +} + +module.exports = { + name: 'startOf', + tests: tests +}; diff --git a/benchmarks/subtract.js b/benchmarks/subtract.js new file mode 100644 index 000000000..95211a070 --- /dev/null +++ b/benchmarks/subtract.js @@ -0,0 +1,22 @@ +var Benchmark = require('benchmark'), + moment = require("./../moment.js"), + base = moment('2013-05-25'); + +var unitsUnderTest = ["milliseconds", "seconds", "minutes", "hours", "days", "weeks", "months", "quarters", "years"]; +var tests = unitsUnderTest.reduce(function (testsSoFar, unit) { + testsSoFar["subtract " + unit] = generateTestForUnit(unit); + return testsSoFar; +}, {}); + +function generateTestForUnit(unit) { + return { + setup: function(){var base = base; var unit = unit;}, + fn: function(){base.subtract(8, unit);}, + async: true + }; +} + +module.exports = { + name: 'subtract', + tests: tests +};