���� 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/fs/ |
// Test the throughput of the fs.WriteStream class. 'use strict'; const path = require('path'); const common = require('../common.js'); const fs = require('fs'); const assert = require('assert'); const tmpdir = require('../../test/common/tmpdir'); tmpdir.refresh(); const filename = path.resolve(tmpdir.path, `.removeme-benchmark-garbage-${process.pid}`); let encodingType, encoding, size, filesize; const bench = common.createBenchmark(main, { encodingType: ['buf', 'asc', 'utf'], filesize: [1000 * 1024 * 1024], size: [1024, 4096, 65535, 1024 * 1024] }); function main(conf) { encodingType = conf.encodingType; size = conf.size; filesize = conf.filesize; switch (encodingType) { case 'buf': encoding = null; break; case 'asc': encoding = 'ascii'; break; case 'utf': encoding = 'utf8'; break; default: throw new Error(`invalid encodingType: ${encodingType}`); } makeFile(); } function runTest() { assert(fs.statSync(filename).size === filesize); const rs = fs.createReadStream(filename, { highWaterMark: size, encoding: encoding }); rs.on('open', () => { bench.start(); }); var bytes = 0; rs.on('data', (chunk) => { bytes += chunk.length; }); rs.on('end', () => { try { fs.unlinkSync(filename); } catch {} // MB/sec bench.end(bytes / (1024 * 1024)); }); } function makeFile() { const buf = Buffer.allocUnsafe(filesize / 1024); if (encoding === 'utf8') { // ü for (var i = 0; i < buf.length; i++) { buf[i] = i % 2 === 0 ? 0xC3 : 0xBC; } } else if (encoding === 'ascii') { buf.fill('a'); } else { buf.fill('x'); } try { fs.unlinkSync(filename); } catch {} var w = 1024; const ws = fs.createWriteStream(filename); ws.on('close', runTest); ws.on('drain', write); write(); function write() { do { w--; } while (false !== ws.write(buf) && w > 0); if (w === 0) ws.end(); } }