mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-07 17:10:31 +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
|
@ -4,7 +4,7 @@ expression: parsed.expr()
|
|||
---
|
||||
Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 0..5,
|
||||
id: Name("first"),
|
||||
ctx: Load,
|
||||
|
|
|
@ -4,20 +4,20 @@ expression: parsed.syntax()
|
|||
---
|
||||
Module(
|
||||
ModModule {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 0..929,
|
||||
body: [
|
||||
Expr(
|
||||
StmtExpr {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 21..42,
|
||||
value: BinOp(
|
||||
ExprBinOp {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 27..40,
|
||||
left: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 27..28,
|
||||
id: Name("a"),
|
||||
ctx: Load,
|
||||
|
@ -26,7 +26,7 @@ Module(
|
|||
op: Mod,
|
||||
right: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 39..40,
|
||||
id: Name("b"),
|
||||
ctx: Load,
|
||||
|
@ -38,7 +38,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 66..73,
|
||||
kind: Help2,
|
||||
value: "a.foo",
|
||||
|
@ -46,7 +46,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 74..80,
|
||||
kind: Help,
|
||||
value: "a.foo",
|
||||
|
@ -54,7 +54,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 81..88,
|
||||
kind: Help,
|
||||
value: "a.foo",
|
||||
|
@ -62,7 +62,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 89..100,
|
||||
kind: Help2,
|
||||
value: "a.foo()",
|
||||
|
@ -70,7 +70,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 115..128,
|
||||
kind: Magic,
|
||||
value: "timeit a = b",
|
||||
|
@ -78,7 +78,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 129..147,
|
||||
kind: Magic,
|
||||
value: "timeit foo(b) % 3",
|
||||
|
@ -86,7 +86,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 148..176,
|
||||
kind: Magic,
|
||||
value: "alias showPath pwd && ls -a",
|
||||
|
@ -94,7 +94,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 177..205,
|
||||
kind: Magic,
|
||||
value: "timeit a = foo(b); b = 2",
|
||||
|
@ -102,7 +102,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 206..226,
|
||||
kind: Magic,
|
||||
value: "matplotlib --inline",
|
||||
|
@ -110,7 +110,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 227..253,
|
||||
kind: Magic,
|
||||
value: "matplotlib --inline",
|
||||
|
@ -118,7 +118,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 277..309,
|
||||
kind: Shell,
|
||||
value: "pwd && ls -a | sed 's/^/\\ /'",
|
||||
|
@ -126,7 +126,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 310..347,
|
||||
kind: Shell,
|
||||
value: "pwd && ls -a | sed 's/^/\\\\ /'",
|
||||
|
@ -134,7 +134,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 348..393,
|
||||
kind: ShCap,
|
||||
value: "cd /Users/foo/Library/Application\\ Support/",
|
||||
|
@ -142,21 +142,19 @@ Module(
|
|||
),
|
||||
FunctionDef(
|
||||
StmtFunctionDef {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 566..626,
|
||||
is_async: false,
|
||||
decorator_list: [],
|
||||
name: Identifier {
|
||||
id: Name("foo"),
|
||||
range: 570..573,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
},
|
||||
type_params: None,
|
||||
parameters: Parameters {
|
||||
range: 573..575,
|
||||
node_index: AtomicNodeIndex(
|
||||
0,
|
||||
),
|
||||
node_index: NodeIndex(None),
|
||||
posonlyargs: [],
|
||||
args: [],
|
||||
vararg: None,
|
||||
|
@ -167,16 +165,16 @@ Module(
|
|||
body: [
|
||||
Return(
|
||||
StmtReturn {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 581..626,
|
||||
value: Some(
|
||||
Compare(
|
||||
ExprCompare {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 598..620,
|
||||
left: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 598..599,
|
||||
id: Name("a"),
|
||||
ctx: Load,
|
||||
|
@ -188,7 +186,7 @@ Module(
|
|||
comparators: [
|
||||
Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 619..620,
|
||||
id: Name("b"),
|
||||
ctx: Load,
|
||||
|
@ -205,7 +203,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 656..664,
|
||||
kind: Paren,
|
||||
value: "foo 1 2",
|
||||
|
@ -213,7 +211,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 665..673,
|
||||
kind: Quote2,
|
||||
value: "foo 1 2",
|
||||
|
@ -221,7 +219,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 674..682,
|
||||
kind: Quote,
|
||||
value: "foo 1 2",
|
||||
|
@ -229,12 +227,12 @@ Module(
|
|||
),
|
||||
For(
|
||||
StmtFor {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 711..737,
|
||||
is_async: false,
|
||||
target: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 715..716,
|
||||
id: Name("a"),
|
||||
ctx: Store,
|
||||
|
@ -242,11 +240,11 @@ Module(
|
|||
),
|
||||
iter: Call(
|
||||
ExprCall {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 720..728,
|
||||
func: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 720..725,
|
||||
id: Name("range"),
|
||||
ctx: Load,
|
||||
|
@ -254,11 +252,11 @@ Module(
|
|||
),
|
||||
arguments: Arguments {
|
||||
range: 725..728,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
args: [
|
||||
NumberLiteral(
|
||||
ExprNumberLiteral {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 726..727,
|
||||
value: Int(
|
||||
5,
|
||||
|
@ -273,7 +271,7 @@ Module(
|
|||
body: [
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 734..737,
|
||||
kind: Shell,
|
||||
value: "ls",
|
||||
|
@ -285,12 +283,12 @@ Module(
|
|||
),
|
||||
Assign(
|
||||
StmtAssign {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 739..748,
|
||||
targets: [
|
||||
Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 739..741,
|
||||
id: Name("p1"),
|
||||
ctx: Store,
|
||||
|
@ -299,7 +297,7 @@ Module(
|
|||
],
|
||||
value: IpyEscapeCommand(
|
||||
ExprIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 744..748,
|
||||
kind: Shell,
|
||||
value: "pwd",
|
||||
|
@ -309,11 +307,11 @@ Module(
|
|||
),
|
||||
AnnAssign(
|
||||
StmtAnnAssign {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 749..763,
|
||||
target: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 749..751,
|
||||
id: Name("p2"),
|
||||
ctx: Store,
|
||||
|
@ -321,7 +319,7 @@ Module(
|
|||
),
|
||||
annotation: Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 753..756,
|
||||
id: Name("str"),
|
||||
ctx: Load,
|
||||
|
@ -330,7 +328,7 @@ Module(
|
|||
value: Some(
|
||||
IpyEscapeCommand(
|
||||
ExprIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 759..763,
|
||||
kind: Shell,
|
||||
value: "pwd",
|
||||
|
@ -342,12 +340,12 @@ Module(
|
|||
),
|
||||
Assign(
|
||||
StmtAssign {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 764..784,
|
||||
targets: [
|
||||
Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 764..767,
|
||||
id: Name("foo"),
|
||||
ctx: Store,
|
||||
|
@ -356,7 +354,7 @@ Module(
|
|||
],
|
||||
value: IpyEscapeCommand(
|
||||
ExprIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 770..784,
|
||||
kind: Magic,
|
||||
value: "foo bar",
|
||||
|
@ -366,7 +364,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 786..791,
|
||||
kind: Magic,
|
||||
value: " foo",
|
||||
|
@ -374,12 +372,12 @@ Module(
|
|||
),
|
||||
Assign(
|
||||
StmtAssign {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 792..813,
|
||||
targets: [
|
||||
Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 792..795,
|
||||
id: Name("foo"),
|
||||
ctx: Store,
|
||||
|
@ -388,7 +386,7 @@ Module(
|
|||
],
|
||||
value: IpyEscapeCommand(
|
||||
ExprIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 798..813,
|
||||
kind: Magic,
|
||||
value: "foo # comment",
|
||||
|
@ -398,7 +396,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 838..842,
|
||||
kind: Help,
|
||||
value: "foo",
|
||||
|
@ -406,7 +404,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 843..852,
|
||||
kind: Help2,
|
||||
value: "foo.bar",
|
||||
|
@ -414,7 +412,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 853..865,
|
||||
kind: Help,
|
||||
value: "foo.bar.baz",
|
||||
|
@ -422,7 +420,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 866..874,
|
||||
kind: Help2,
|
||||
value: "foo[0]",
|
||||
|
@ -430,7 +428,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 875..885,
|
||||
kind: Help,
|
||||
value: "foo[0][1]",
|
||||
|
@ -438,7 +436,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 886..905,
|
||||
kind: Help2,
|
||||
value: "foo.bar[0].baz[1]",
|
||||
|
@ -446,7 +444,7 @@ Module(
|
|||
),
|
||||
IpyEscapeCommand(
|
||||
StmtIpyEscapeCommand {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 906..929,
|
||||
kind: Help2,
|
||||
value: "foo.bar[0].baz[2].egg",
|
||||
|
|
|
@ -5,12 +5,12 @@ expression: suite
|
|||
[
|
||||
Assign(
|
||||
StmtAssign {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 0..37,
|
||||
targets: [
|
||||
Name(
|
||||
ExprName {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 0..1,
|
||||
id: Name("x"),
|
||||
ctx: Store,
|
||||
|
@ -19,13 +19,13 @@ expression: suite
|
|||
],
|
||||
value: StringLiteral(
|
||||
ExprStringLiteral {
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
range: 4..37,
|
||||
value: StringLiteralValue {
|
||||
inner: Single(
|
||||
StringLiteral {
|
||||
range: 4..37,
|
||||
node_index: AtomicNodeIndex(..),
|
||||
node_index: NodeIndex(None),
|
||||
value: "\u{8}another cool trick",
|
||||
flags: StringLiteralFlags {
|
||||
quote_style: Double,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue