]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Added isObjectEmpty benchmark.
authorsgorsh <simon@gorse.org>
Sun, 9 Apr 2017 12:00:47 +0000 (14:00 +0200)
committerIskren Chernev <iskren.chernev@gmail.com>
Sun, 6 Aug 2017 23:45:08 +0000 (02:45 +0300)
benchmarks/isObjectEmpty.js [new file with mode: 0644]

diff --git a/benchmarks/isObjectEmpty.js b/benchmarks/isObjectEmpty.js
new file mode 100644 (file)
index 0000000..f1da1bf
--- /dev/null
@@ -0,0 +1,67 @@
+var Benchmark = require('benchmark'),
+    moment = require("./../moment.js");
+
+var isObjectEmpty_getOwnPropertyNames = function(obj) {
+    if (Object.getOwnPropertyNames) {
+        return (Object.getOwnPropertyNames(obj).length === 0);
+    } else {
+        var k;
+        for (k in obj) {
+            if (obj.hasOwnProperty(k)) {
+                return false;
+            }
+        }
+        return true;
+    }
+};
+
+var isObjectEmpty_keys = function(obj) {
+    if (Object.keys) {
+        return (Object.keys(obj).length === 0);
+    } else {
+        var k;
+        for (k in obj) {
+            if (obj.hasOwnProperty(k)) {
+                return false;
+            }
+        }
+        return true;
+    }
+};
+
+var isObjectEmpty_forIn = function(obj) {
+    var k;
+    for (k in obj) {
+        if (obj.hasOwnProperty(k)) {
+            return false;
+        }
+    }
+    return true;
+};
+    
+module.exports = {
+    name: 'isObjectEmpty',
+    tests: {
+        "isObjectEmpty -> for..in": {
+            onComplete: function(){},
+            fn: function(){        
+                isObjectEmpty_forIn(moment());
+            },
+            async: false
+        },
+        "isObjectEmpty -> Object.keys": {
+            onComplete: function(){},
+            fn: function(){        
+                isObjectEmpty_keys(moment());
+            },
+            async: false
+        },
+        "isObjectEmpty -> Object.getOwnPropertyNames": {
+            onComplete: function(){},
+            fn: function(){        
+                isObjectEmpty_getOwnPropertyNames(moment());
+            },
+            async: false
+        }    
+    }
+};