[ty] Shrink size of AstNodeRef (#20028)

## Summary

Removes the `module_ptr` field from `AstNodeRef` in release mode, and
change `NodeIndex` to a `NonZeroU32` to reduce the size of
`Option<AstNodeRef<_>>` fields.

I believe CI runs in debug mode, so this won't show up in the memory
report, but this reduces memory by ~2% in release mode.
This commit is contained in:
Ibraheem Ahmed 2025-08-22 17:03:22 -04:00 committed by GitHub
parent 886c4e4773
commit 7abc41727b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
648 changed files with 19641 additions and 20364 deletions

View file

@ -7,17 +7,17 @@ input_file: crates/ruff_python_parser/resources/valid/statement/delete.py
```
Module(
ModModule {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 0..122,
body: [
Delete(
StmtDelete {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 0..5,
targets: [
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 4..5,
id: Name("x"),
ctx: Del,
@ -28,12 +28,12 @@ Module(
),
Delete(
StmtDelete {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 6..13,
targets: [
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 11..12,
id: Name("x"),
ctx: Del,
@ -44,12 +44,12 @@ Module(
),
Delete(
StmtDelete {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 14..23,
targets: [
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 18..19,
id: Name("a"),
ctx: Del,
@ -57,7 +57,7 @@ Module(
),
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 21..22,
id: Name("b"),
ctx: Del,
@ -68,12 +68,12 @@ Module(
),
Delete(
StmtDelete {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 24..40,
targets: [
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 28..29,
id: Name("a"),
ctx: Del,
@ -81,12 +81,12 @@ Module(
),
Tuple(
ExprTuple {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 31..37,
elts: [
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 32..33,
id: Name("b"),
ctx: Del,
@ -94,7 +94,7 @@ Module(
),
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 35..36,
id: Name("c"),
ctx: Del,
@ -107,7 +107,7 @@ Module(
),
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 39..40,
id: Name("d"),
ctx: Del,
@ -118,17 +118,17 @@ Module(
),
Delete(
StmtDelete {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 41..51,
targets: [
List(
ExprList {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 45..51,
elts: [
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 46..47,
id: Name("a"),
ctx: Del,
@ -136,7 +136,7 @@ Module(
),
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 49..50,
id: Name("b"),
ctx: Del,
@ -151,17 +151,17 @@ Module(
),
Delete(
StmtDelete {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 52..70,
targets: [
List(
ExprList {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 56..70,
elts: [
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 57..58,
id: Name("a"),
ctx: Del,
@ -169,12 +169,12 @@ Module(
),
List(
ExprList {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 60..66,
elts: [
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 61..62,
id: Name("b"),
ctx: Del,
@ -182,7 +182,7 @@ Module(
),
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 64..65,
id: Name("c"),
ctx: Del,
@ -194,7 +194,7 @@ Module(
),
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 68..69,
id: Name("d"),
ctx: Del,
@ -209,16 +209,16 @@ Module(
),
Delete(
StmtDelete {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 71..78,
targets: [
Attribute(
ExprAttribute {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 75..78,
value: Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 75..76,
id: Name("x"),
ctx: Load,
@ -227,7 +227,7 @@ Module(
attr: Identifier {
id: Name("y"),
range: 77..78,
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
},
ctx: Del,
},
@ -237,16 +237,16 @@ Module(
),
Delete(
StmtDelete {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 79..87,
targets: [
Subscript(
ExprSubscript {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 83..87,
value: Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 83..84,
id: Name("x"),
ctx: Load,
@ -254,7 +254,7 @@ Module(
),
slice: Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 85..86,
id: Name("y"),
ctx: Load,
@ -268,17 +268,17 @@ Module(
),
Delete(
StmtDelete {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 88..121,
targets: [
Tuple(
ExprTuple {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 92..121,
elts: [
Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 98..99,
id: Name("x"),
ctx: Del,
@ -286,11 +286,11 @@ Module(
),
Attribute(
ExprAttribute {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 105..108,
value: Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 105..106,
id: Name("x"),
ctx: Load,
@ -299,18 +299,18 @@ Module(
attr: Identifier {
id: Name("y"),
range: 107..108,
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
},
ctx: Del,
},
),
Subscript(
ExprSubscript {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 114..118,
value: Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 114..115,
id: Name("x"),
ctx: Load,
@ -318,7 +318,7 @@ Module(
),
slice: Name(
ExprName {
node_index: AtomicNodeIndex(..),
node_index: NodeIndex(None),
range: 116..117,
id: Name("y"),
ctx: Load,