lance-format/lance

refactor: use LazyLock to initialize Field and Schema once

Open

#8,244 opened on Aug 4, 2026

 (2 comments) (0 reactions) (0 assignees)Rust (695 forks)github user discovery
good first issue

Repository metrics

Stars
 (6,582 stars)
PR merge metrics
 (Avg merge 6d 1h) (219 merged PRs in 30d)

Description

In many places we output the same set of fields and/or schema per method call, or even per batch. This can be made cheaper if we initialize them once via a LazyLock and wrapping in an Arc.

Here's an example where we construct a schema per query:

https://github.com/lance-format/lance/blob/11eeb29161a2ac2763ff8cc6aa1fde8eb4592291/rust/lance-index/src/scalar/inverted/index.rs#L8107-L8116

Contributor guide