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 : 5ms
Steno uses a smart queue and avoids unnecessary writes.
License
MIT - Typicode