Skip to content

Buffer.write(Array<string|Buffer>, offset: number, encoding: string) #168

@ronag

Description

@ronag

Implement as smarter Buffer.write to avoid a lot of overhead. Consider the following example:

      poolOffset += poolBuffer.asciiWrite(`{"seq":`, poolOffset)
      poolOffset += poolBuffer.asciiWrite(seq, poolOffset)
      poolOffset += poolBuffer.asciiWrite(`,"id":"`, poolOffset)
      poolOffset += key.copy(poolBuffer, poolOffset)
      poolOffset += poolBuffer.asciiWrite(`","changes":[{"rev":"`, poolOffset)
      poolOffset += version.copy(poolBuffer, poolOffset)
      poolOffset += poolBuffer.asciiWrite(`"}]`, poolOffset)

Could be reduced to:

poolOffset += poolBuffer.write([
  `{"seq":`,
  seq,
  `,"id":"`,
  key,
  `","changes":[{"rev":"`,
  version,
   `"}]`
], poolOffset, 'ascii')

and avoid a lot of js -> cpp calls

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions