4.0.2 • Published 1 year ago
@desktopmate/steno v4.0.2
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)
 - 👍 ⚛️ Safe: No partial writes (writes are atomic)
 - 👍 🏁 Safe: No race conditions (writes are ordered even if they're async)
 
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     :   62ms
  steno  :    1ms
Write 1MB data to the same file x 1000
  fs     : 2300ms
  steno  :    5msSteno uses a smart queue and avoids unnecessary writes.
License
MIT - Typicode
4.0.2
1 year ago