Skip to content

Translate the base into the destination when using functional record update #15397

Closed
@pcwalton

Description

@pcwalton

We have two ways to codegen functional record update:

  1. Translate the supplied fields in place, translate the base to scratch, and copy over the delta.
  2. Translate the supplied fields to scratch, translate the base in place, and copy over the delta.

Currently we take approach (1). This is not as efficient as approach (2) in most cases, since the whole point of functional record update is usually to update a small number of fields. This would save a few memcpys that show up in I/O.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-codegenArea: Code generationI-compiletimeIssue: Problems and improvements with respect to compile times.I-slowIssue: Problems and improvements with respect to performance of generated code.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions