���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /proc/self/root/home/real/node-v13.0.1/benchmark/timers/ |
'use strict'; const common = require('../common.js'); const bench = common.createBenchmark(main, { n: [5e6], type: ['depth', 'depth1', 'breadth', 'breadth1', 'breadth4', 'clear'] }); function main({ n, type }) { switch (type) { case 'depth': depth(n); break; case 'depth1': depth1(n); break; case 'breadth': breadth(n); break; case 'breadth1': breadth1(n); break; case 'breadth4': breadth4(n); break; case 'clear': clear(n); break; } } // setImmediate tail recursion, 0 arguments function depth(N) { var n = 0; bench.start(); setImmediate(cb); function cb() { n++; if (n === N) bench.end(n); else setImmediate(cb); } } // setImmediate tail recursion, 1 argument function depth1(N) { var n = 0; bench.start(); setImmediate(cb, 1); function cb(a1) { n++; if (n === N) bench.end(N); else setImmediate(cb, 1); } } // Concurrent setImmediate, 0 arguments function breadth(N) { var n = 0; bench.start(); function cb() { n++; if (n === N) bench.end(N); } for (var i = 0; i < N; i++) { setImmediate(cb); } } // Concurrent setImmediate, 1 argument function breadth1(N) { var n = 0; bench.start(); function cb(a1) { n++; if (n === N) bench.end(n); } for (var i = 0; i < N; i++) { setImmediate(cb, 1); } } // Concurrent setImmediate, 4 arguments function breadth4(N) { N /= 2; var n = 0; bench.start(); function cb(a1, a2, a3, a4) { n++; if (n === N) bench.end(n); } for (var i = 0; i < N; i++) { setImmediate(cb, 1, 2, 3, 4); } } function clear(N) { N *= 4; bench.start(); function cb(a1) { if (a1 === 2) bench.end(N); } for (var i = 0; i < N; i++) { clearImmediate(setImmediate(cb, 1)); } setImmediate(cb, 2); }