perf: add a pointer-keyed cache in front of the interpreter's symbol cache This PR speeds up the IR interpreter's callee lookup. Mathlib: -1.8% instructions in total, up to -8.5% on individual files. Every interpreted call looked up its callee in a `name_hash_map`, which hashes and compares names. Persistent names, such as those in IR loaded from `.olean` files, outlive the interpreter, so their addresses identify them. A direct-mapped cache with 1024 entries, keyed by the name's address, now answers almost all lookups (about 99% on the measured files) before the map is consulted. Non-persistent names bypass it. The cache belongs to the interpreter instance and is allocated on its first persistent lookup. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This is the repository for Lean 4.
See Install Lean.
Please read our Contribution Guidelines first.
See Building Lean.