@commonify/steno
v2.1.0
Published
CommonJS version of steno 2.1.0. See https://github.com/mifi/commonify
Downloads
4,198
Maintainers
Readme
Steno
Specialized fast async file writer
Steno makes writing to the same file often/concurrently fast and safe.
Used in lowdb.
https://en.wikipedia.org/wiki/Stenotype
Features
- Fast (see benchmark)
- Lightweight (~6kb)
- Promise-based
- Atomic write
- No race condition
- TypeScript definitions
Usage
import { Writer } from 'steno'
// Create a singleton writer
const file = new Writer('file.txt')
// Use it in the rest of your code
async function save() {
await file.write('some data')
}
Benchmark
npm run benchmark
(see src/benchmark.ts
)
Write 1KB data to the same file x 1000
fs : 62.303ms
steno : 1.384ms
fs.txt = steno.txt ✓
Write 1MB data to the same file x 1000
fs : 2.300s
steno : 5.444ms
fs.txt = steno.txt ✓
License
MIT - Typicode