# implement ryu 64-bit backend · gitcafe/zig

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

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

Visibility: public

Requested revision: aff71c6132fd17c6fa455a6e7b9f53567e3e55b2

Requested commit: aff71c6132fd17c6fa455a6e7b9f53567e3e55b2

Commit: aff71c6132fd17c6fa455a6e7b9f53567e3e55b2

Tree: a4f4c651a37fb0bfd56d82e7f11de8d1da6b536e

Author: Marc Tiehuis

Committer: Andrew Kelley

## Message

```
implement ryu 64-bit backend

The 64-bit backend supports printing all floats up to 64-bits. The
128-bit continues to be used for larger values.

This backend is approximately ~3x faster. Code size is a little smaller
in the full table case and much smaller if using the samll tables.

The implementation uses the same code-paths, parameterized by a set of
tables and their pow5 implementations. We continue to use the same
rounding/formatting mechanisms. Initially I explored a separate
implementation, as upstream does this and has specific optimizations for
these paths but for simplicity we don't. The performance loss is small
enough at this point and keeping them combined keeps them in sync.

Closes #19264.

```

## Parents

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

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