mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-21 15:52:34 +00:00
[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:
parent
886c4e4773
commit
7abc41727b
648 changed files with 19641 additions and 20364 deletions
|
@ -7,21 +7,21 @@ input_file: crates/ruff_python_parser/resources/valid/statement/with.py
|
|||
```
|
||||
Module(
|
||||
ModModule {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 0..361,
|
||||
body: [
|
||||
With(
|
||||
StmtWith {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 137..151,
|
||||
is_async: false,
|
||||
items: [
|
||||
WithItem {
|
||||
range: 142..146,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
context_expr: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 142..146,
|
||||
id: Name("item"),
|
||||
ctx: Load,
|
||||
|
@ -33,11 +33,11 @@ Module(
|
|||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 148..151,
|
||||
value: EllipsisLiteral(
|
||||
ExprEllipsisLiteral {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 148..151,
|
||||
},
|
||||
),
|
||||
|
@ -48,16 +48,16 @@ Module(
|
|||
),
|
||||
With(
|
||||
StmtWith {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 152..171,
|
||||
is_async: false,
|
||||
items: [
|
||||
WithItem {
|
||||
range: 157..166,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
context_expr: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 157..161,
|
||||
id: Name("item"),
|
||||
ctx: Load,
|
||||
|
@ -66,7 +66,7 @@ Module(
|
|||
optional_vars: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 165..166,
|
||||
id: Name("f"),
|
||||
ctx: Store,
|
||||
|
@ -78,11 +78,11 @@ Module(
|
|||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 168..171,
|
||||
value: EllipsisLiteral(
|
||||
ExprEllipsisLiteral {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 168..171,
|
||||
},
|
||||
),
|
||||
|
@ -93,16 +93,16 @@ Module(
|
|||
),
|
||||
With(
|
||||
StmtWith {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 172..194,
|
||||
is_async: false,
|
||||
items: [
|
||||
WithItem {
|
||||
range: 177..182,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
context_expr: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 177..182,
|
||||
id: Name("item1"),
|
||||
ctx: Load,
|
||||
|
@ -112,10 +112,10 @@ Module(
|
|||
},
|
||||
WithItem {
|
||||
range: 184..189,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
context_expr: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 184..189,
|
||||
id: Name("item2"),
|
||||
ctx: Load,
|
||||
|
@ -127,11 +127,11 @@ Module(
|
|||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 191..194,
|
||||
value: EllipsisLiteral(
|
||||
ExprEllipsisLiteral {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 191..194,
|
||||
},
|
||||
),
|
||||
|
@ -142,16 +142,16 @@ Module(
|
|||
),
|
||||
With(
|
||||
StmtWith {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 195..229,
|
||||
is_async: false,
|
||||
items: [
|
||||
WithItem {
|
||||
range: 200..211,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
context_expr: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 200..205,
|
||||
id: Name("item1"),
|
||||
ctx: Load,
|
||||
|
@ -160,7 +160,7 @@ Module(
|
|||
optional_vars: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 209..211,
|
||||
id: Name("f1"),
|
||||
ctx: Store,
|
||||
|
@ -170,10 +170,10 @@ Module(
|
|||
},
|
||||
WithItem {
|
||||
range: 213..224,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
context_expr: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 213..218,
|
||||
id: Name("item2"),
|
||||
ctx: Load,
|
||||
|
@ -182,7 +182,7 @@ Module(
|
|||
optional_vars: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 222..224,
|
||||
id: Name("f2"),
|
||||
ctx: Store,
|
||||
|
@ -194,11 +194,11 @@ Module(
|
|||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 226..229,
|
||||
value: EllipsisLiteral(
|
||||
ExprEllipsisLiteral {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 226..229,
|
||||
},
|
||||
),
|
||||
|
@ -209,27 +209,27 @@ Module(
|
|||
),
|
||||
With(
|
||||
StmtWith {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 231..257,
|
||||
is_async: false,
|
||||
items: [
|
||||
WithItem {
|
||||
range: 236..252,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
context_expr: If(
|
||||
ExprIf {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 236..252,
|
||||
test: BooleanLiteral(
|
||||
ExprBooleanLiteral {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 241..245,
|
||||
value: true,
|
||||
},
|
||||
),
|
||||
body: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 236..237,
|
||||
id: Name("x"),
|
||||
ctx: Load,
|
||||
|
@ -237,7 +237,7 @@ Module(
|
|||
),
|
||||
orelse: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 251..252,
|
||||
id: Name("y"),
|
||||
ctx: Load,
|
||||
|
@ -251,11 +251,11 @@ Module(
|
|||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 254..257,
|
||||
value: EllipsisLiteral(
|
||||
ExprEllipsisLiteral {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 254..257,
|
||||
},
|
||||
),
|
||||
|
@ -266,27 +266,27 @@ Module(
|
|||
),
|
||||
With(
|
||||
StmtWith {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 258..289,
|
||||
is_async: false,
|
||||
items: [
|
||||
WithItem {
|
||||
range: 263..284,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
context_expr: If(
|
||||
ExprIf {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 263..279,
|
||||
test: BooleanLiteral(
|
||||
ExprBooleanLiteral {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 268..272,
|
||||
value: true,
|
||||
},
|
||||
),
|
||||
body: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 263..264,
|
||||
id: Name("x"),
|
||||
ctx: Load,
|
||||
|
@ -294,7 +294,7 @@ Module(
|
|||
),
|
||||
orelse: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 278..279,
|
||||
id: Name("y"),
|
||||
ctx: Load,
|
||||
|
@ -305,7 +305,7 @@ Module(
|
|||
optional_vars: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 283..284,
|
||||
id: Name("f"),
|
||||
ctx: Store,
|
||||
|
@ -317,11 +317,11 @@ Module(
|
|||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 286..289,
|
||||
value: EllipsisLiteral(
|
||||
ExprEllipsisLiteral {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 286..289,
|
||||
},
|
||||
),
|
||||
|
@ -332,20 +332,20 @@ Module(
|
|||
),
|
||||
With(
|
||||
StmtWith {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 313..334,
|
||||
is_async: false,
|
||||
items: [
|
||||
WithItem {
|
||||
range: 318..329,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
context_expr: Call(
|
||||
ExprCall {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 318..324,
|
||||
func: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 318..322,
|
||||
id: Name("open"),
|
||||
ctx: Load,
|
||||
|
@ -353,7 +353,7 @@ Module(
|
|||
),
|
||||
arguments: Arguments {
|
||||
range: 322..324,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
args: [],
|
||||
keywords: [],
|
||||
},
|
||||
|
@ -362,7 +362,7 @@ Module(
|
|||
optional_vars: Some(
|
||||
Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 328..329,
|
||||
id: Name("f"),
|
||||
ctx: Store,
|
||||
|
@ -374,11 +374,11 @@ Module(
|
|||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 331..334,
|
||||
value: EllipsisLiteral(
|
||||
ExprEllipsisLiteral {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 331..334,
|
||||
},
|
||||
),
|
||||
|
@ -389,20 +389,20 @@ Module(
|
|||
),
|
||||
With(
|
||||
StmtWith {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 335..361,
|
||||
is_async: false,
|
||||
items: [
|
||||
WithItem {
|
||||
range: 340..356,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
context_expr: Call(
|
||||
ExprCall {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 340..346,
|
||||
func: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 340..344,
|
||||
id: Name("open"),
|
||||
ctx: Load,
|
||||
|
@ -410,7 +410,7 @@ Module(
|
|||
),
|
||||
arguments: Arguments {
|
||||
range: 344..346,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
args: [],
|
||||
keywords: [],
|
||||
},
|
||||
|
@ -419,11 +419,11 @@ Module(
|
|||
optional_vars: Some(
|
||||
Attribute(
|
||||
ExprAttribute {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 350..356,
|
||||
value: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 350..351,
|
||||
id: Name("f"),
|
||||
ctx: Load,
|
||||
|
@ -432,7 +432,7 @@ Module(
|
|||
attr: Identifier {
|
||||
id: Name("attr"),
|
||||
range: 352..356,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
},
|
||||
ctx: Store,
|
||||
},
|
||||
|
@ -443,11 +443,11 @@ Module(
|
|||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 358..361,
|
||||
value: EllipsisLiteral(
|
||||
ExprEllipsisLiteral {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 358..361,
|
||||
},
|
||||
),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue