# Context

`import { Context } from "destack:bench";`

Benchmark callback context.

```ds title="Context"
export newtype interface Context {
    measure(name: string): Measure;
    iter(body: () => void): Measurement;
    iterAsync(body: () => Promise<void>): Promise<Measurement>;
    blackBox<T>(value: T): T;
    bytes(value: uint64): void;
    items(value: uint64): void;
}
```

[language/library/src/bench/context.ds:7:25](https://github.com/destack-sh/destack/blob/main/language/library/src/bench/context.ds#L7-L25)

## Members

### `measure(name: string): Measure`

Create one named measurement helper.

### `iter(body: () => void): Measurement`

Measure repeated synchronous execution.

### `iterAsync(body: () => Promise<void>): Promise<Measurement>`

Measure repeated asynchronous execution.

### `blackBox<T>(value: T): T`

Preserve a value from optimization.

### `bytes(value: uint64): void`

Record processed bytes.

### `items(value: uint64): void`

Record processed items.
