# stage2 parser: different memory layout of ParamDecl · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/7c2c0e36f8378d8efaf64d859bdffb91007db82a)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 7c2c0e36f8378d8efaf64d859bdffb91007db82a

Requested commit: 7c2c0e36f8378d8efaf64d859bdffb91007db82a

Commit: 7c2c0e36f8378d8efaf64d859bdffb91007db82a

Tree: a8335099205f30d5bf9b4478ee9d73824b2f0abf

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
stage2 parser: different memory layout of ParamDecl

Instead of being its own node, it's a struct inside FnProto.
Instead of FnProto having a SinglyLinkedList of ParamDecl nodes,
ParamDecls are appended directly in memory after the FnProto.

throughput: 72.2 MiB/s => 72.9 MiB/s
maxrss: 70 KB => 68 KB

Importantly, the API is improved as well since the data is arranged
linearly in memory.

```

## Parents

- [5db9f306ba88087d269dc5fe5672a5af5ab55333](https://git.cafe/gitcafe/zig/commit/5db9f306ba88087d269dc5fe5672a5af5ab55333?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/7c2c0e36f8378d8efaf64d859bdffb91007db82a?format=markdown)
