| | import { rm as rmPromises } from 'fs/promises' |
| | import { rm as rmCallback, rmSync } from 'fs' |
| | import { promisify } from 'util' |
| |
|
| | const rmCallbackPromise = promisify(rmCallback) |
| |
|
| | const targetDir = process.argv[2] |
| | const method = process.argv[3] |
| |
|
| | async function test() { |
| | const time = process.hrtime() |
| |
|
| | if (method === 'promises') { |
| | await rmPromises(targetDir, { recursive: true, force: true }) |
| | } else if (method === 'callback') { |
| | await rmCallbackPromise(targetDir, { recursive: true, force: true }) |
| | } else if (method === 'sync') { |
| | rmSync(targetDir, { recursive: true, force: true }) |
| | } |
| |
|
| | const hrtime = process.hrtime(time) |
| | const nanoseconds = hrtime[0] * 1e9 + hrtime[1] |
| | const milliseconds = nanoseconds / 1e6 |
| | console.log(milliseconds) |
| | } |
| |
|
| | test() |
| |
|