ruff/crates/red_knot_python_semantic/src
Ibraheem Ahmed 69d86d1d69
Transition to salsa coarse-grained tracked structs (#15763)
## Summary

Transition to using coarse-grained tracked structs (depends on
https://github.com/salsa-rs/salsa/pull/657). For now, this PR doesn't
add any `#[tracked]` fields, meaning that any changes cause the entire
struct to be invalidated. It also changes `AstNodeRef` to be
compared/hashed by pointer address, instead of performing a deep AST
comparison.

## Test Plan

This yields a 10-15% improvement on my machine (though weirdly some runs
were 5-10% without being flagged as inconsistent by criterion, is there
some non-determinism involved?). It's possible that some of this is
unrelated, I'll try applying the patch to the current salsa version to
make sure.

---------

Co-authored-by: Micha Reiser <micha@reiser.io>
2025-02-11 11:38:50 +01:00
..
module_resolver Transition to salsa coarse-grained tracked structs (#15763) 2025-02-11 11:38:50 +01:00
semantic_index Transition to salsa coarse-grained tracked structs (#15763) 2025-02-11 11:38:50 +01:00
types Transition to salsa coarse-grained tracked structs (#15763) 2025-02-11 11:38:50 +01:00
util [red-knot] Improve ergonomics for the `PySlice` trait (#13983) 2024-10-29 20:40:59 +00:00
ast_node_ref.rs Transition to salsa coarse-grained tracked structs (#15763) 2025-02-11 11:38:50 +01:00
db.rs [red-knot] Resolve `Options` to `Settings` (#16000) 2025-02-10 15:28:45 +01:00
lib.rs [red-knot] Rename *_ty functions (#15617) 2025-01-22 09:06:56 +01:00
lint.rs Add knot.toml schema (#15735) 2025-02-07 10:59:40 +01:00
module_name.rs Bind top-most parent when importing nested module (#14946) 2024-12-16 16:15:40 -05:00
node_key.rs [red-knot] Use memory address as AST node key (#14317) 2024-11-13 14:35:54 +01:00
program.rs [red-knot] Support custom typeshed Markdown tests (#15683) 2025-01-23 12:36:38 +01:00
python_platform.rs Add knot.toml schema (#15735) 2025-02-07 10:59:40 +01:00
python_version.rs Add knot.toml schema (#15735) 2025-02-07 10:59:40 +01:00
semantic_index.rs Transition to salsa coarse-grained tracked structs (#15763) 2025-02-11 11:38:50 +01:00
semantic_model.rs [red-knot] Rename *_ty functions (#15617) 2025-01-22 09:06:56 +01:00
site_packages.rs Rename `custom-typeshed-dir`, `target-version` and `current-directory` CLI options (#14930) 2024-12-13 08:21:52 +00:00
stdlib.rs [red-knot] Rename and rework the `CoreStdlibModule` enum (#15071) 2024-12-19 20:59:00 +00:00
suppression.rs [red-knot] Add `--ignore`, `--warn`, and `--error` CLI arguments (#15689) 2025-01-24 16:20:15 +01:00
symbol.rs Transition to salsa coarse-grained tracked structs (#15763) 2025-02-11 11:38:50 +01:00
types.rs Transition to salsa coarse-grained tracked structs (#15763) 2025-02-11 11:38:50 +01:00
unpack.rs Transition to salsa coarse-grained tracked structs (#15763) 2025-02-11 11:38:50 +01:00
visibility_constraints.rs Transition to salsa coarse-grained tracked structs (#15763) 2025-02-11 11:38:50 +01:00