aboutsummaryrefslogtreecommitdiffstats
path: root/library/moment/benchmarks
diff options
context:
space:
mode:
Diffstat (limited to 'library/moment/benchmarks')
-rw-r--r--library/moment/benchmarks/clone.js10
-rw-r--r--library/moment/benchmarks/fromDate.js12
-rw-r--r--library/moment/benchmarks/fromDateUtc.js12
-rw-r--r--library/moment/benchmarks/makeDuration.js11
-rw-r--r--library/moment/benchmarks/zeroFill.js43
5 files changed, 88 insertions, 0 deletions
diff --git a/library/moment/benchmarks/clone.js b/library/moment/benchmarks/clone.js
new file mode 100644
index 000000000..ac516bec2
--- /dev/null
+++ b/library/moment/benchmarks/clone.js
@@ -0,0 +1,10 @@
+var Benchmark = require('benchmark'),
+ moment = require("./../moment.js"),
+ base = moment('2013-05-25');
+
+module.exports = {
+ name: 'clone',
+ onComplete: function(){},
+ fn: function(){base.clone();},
+ async: true
+};
diff --git a/library/moment/benchmarks/fromDate.js b/library/moment/benchmarks/fromDate.js
new file mode 100644
index 000000000..613061c4d
--- /dev/null
+++ b/library/moment/benchmarks/fromDate.js
@@ -0,0 +1,12 @@
+var Benchmark = require('benchmark'),
+ moment = require('./../moment.js'),
+ base = new Date();
+
+module.exports = {
+ name: 'fromDate',
+ onComplete: function(){},
+ fn: function(){
+ moment(base);
+ },
+ async: true
+};
diff --git a/library/moment/benchmarks/fromDateUtc.js b/library/moment/benchmarks/fromDateUtc.js
new file mode 100644
index 000000000..37d1a7101
--- /dev/null
+++ b/library/moment/benchmarks/fromDateUtc.js
@@ -0,0 +1,12 @@
+var Benchmark = require('benchmark'),
+ moment = require('./../moment.js'),
+ base = new Date();
+
+module.exports = {
+ name: 'fromDateUtc',
+ onComplete: function(){},
+ fn: function(){
+ moment.utc(base);
+ },
+ async: true
+};
diff --git a/library/moment/benchmarks/makeDuration.js b/library/moment/benchmarks/makeDuration.js
new file mode 100644
index 000000000..9c2e8003f
--- /dev/null
+++ b/library/moment/benchmarks/makeDuration.js
@@ -0,0 +1,11 @@
+var Benchmark = require('benchmark'),
+ moment = require('./../moment.js');
+
+module.exports = {
+ name: 'makeDuration',
+ onComplete: function(){},
+ fn: function(){
+ moment.duration(5, 'years');
+ },
+ async: true
+};
diff --git a/library/moment/benchmarks/zeroFill.js b/library/moment/benchmarks/zeroFill.js
new file mode 100644
index 000000000..9ce76ee98
--- /dev/null
+++ b/library/moment/benchmarks/zeroFill.js
@@ -0,0 +1,43 @@
+var Benchmark = require('benchmark');
+
+module.exports = {
+ name: 'zeroFill',
+ tests: {
+ zeroFillMath: {
+ setup: function() {
+ var zeroFillMath = function(number, targetLength, forceSign) {
+ var absNumber = '' + Math.abs(number),
+ zerosToFill = targetLength - absNumber.length,
+ sign = number >= 0;
+ return (sign ? (forceSign ? '+' : '') : '-') +
+ Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
+ }
+ },
+ fn: function() {
+ zeroFillMath(Math.random() * 1e5 | 0, 5);
+ zeroFillMath(Math.random() * 1e5 | 0, 10);
+ zeroFillMath(Math.random() * 1e10 | 0, 20);
+ },
+ async: true
+ },
+ zeroFillWhile: {
+ setup: function() {
+ var zeroFillWhile = function(number, targetLength, forceSign) {
+ var output = '' + Math.abs(number),
+ sign = number >= 0;
+
+ while (output.length < targetLength) {
+ output = '0' + output;
+ }
+ return (sign ? (forceSign ? '+' : '') : '-') + output;
+ }
+ },
+ fn: function() {
+ zeroFillWhile(Math.random() * 1e5 | 0, 5);
+ zeroFillWhile(Math.random() * 1e5 | 0, 10);
+ zeroFillWhile(Math.random() * 1e10 | 0, 20);
+ },
+ async: true
+ }
+ }
+};