summaryrefslogtreecommitdiff
path: root/benchmark
diff options
context:
space:
mode:
authorBrian White <mscdex@mscdex.net>2017-02-22 02:03:49 -0500
committerJames M Snell <jasnell@gmail.com>2017-02-23 17:19:39 -0800
commitf385f77f1d011786cb1c5e80f257fa043f4c608b (patch)
tree6e23bc5d307cc9ca2d2539de0041c715f62cffdd /benchmark
parentdd2e13556020cea3daae2278bec4e9870578384b (diff)
downloadandroid-node-v8-f385f77f1d011786cb1c5e80f257fa043f4c608b.tar.gz
android-node-v8-f385f77f1d011786cb1c5e80f257fa043f4c608b.tar.bz2
android-node-v8-f385f77f1d011786cb1c5e80f257fa043f4c608b.zip
process: improve memoryUsage() performance
Creating an object in JS and using a typed array to transfer values from C++ to JS is faster than creating an object and setting properties in C++. The included benchmark shows ~34% increase in performance with this change. PR-URL: https://github.com/nodejs/node/pull/11497 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/process/memoryUsage.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/benchmark/process/memoryUsage.js b/benchmark/process/memoryUsage.js
new file mode 100644
index 0000000000..d68ef339b4
--- /dev/null
+++ b/benchmark/process/memoryUsage.js
@@ -0,0 +1,16 @@
+'use strict';
+
+var common = require('../common.js');
+var bench = common.createBenchmark(main, {
+ n: [1e5]
+});
+
+function main(conf) {
+ var n = +conf.n;
+
+ bench.start();
+ for (var i = 0; i < n; i++) {
+ process.memoryUsage();
+ }
+ bench.end(n);
+}