@stenodb/writer
TypeScript icon, indicating that this package has built-in type declarations

4.0.1 • Public • Published

@stenodb/writer

Specialized fast async file writer

Steno makes writing to the same file often/concurrently fast and safe.

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 '@stenodb/writer'

// 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

Package Sidebar

Install

npm i @stenodb/writer

Weekly Downloads

3

Version

4.0.1

License

MIT

Unpacked Size

12.5 kB

Total Files

8

Last publish

Collaborators

  • crashmax