[fx] Move Node._update_args_kwargs to C++ (#148260)

Microbenchmarking `fx.symbolic_trace(lambda x: functools.reduce(operator.add, [x, *range(100000)]))`, before:
```
25203549 function calls (24403352 primitive calls) in 12.090 seconds
```
after:
```
24303536 function calls (23503339 primitive calls) in 10.726 seconds
```

Pull Request resolved: https://github.com/pytorch/pytorch/pull/148260
Approved by: https://github.com/oulgen
ghstack dependencies: #148243
This commit is contained in:
Jason Ansel
2025-03-09 21:21:57 -07:00
committed by PyTorch MergeBot
parent bec7bdad47
commit bf752c36da
4 changed files with 213 additions and 114 deletions

View File

@ -1,65 +1,65 @@
add_loop_eager,compile_time_instruction_count,3002000000,0.015
add_loop_eager,compile_time_instruction_count,2972000000,0.015
add_loop_eager_dynamic,compile_time_instruction_count,5689000000,0.025
add_loop_eager_dynamic,compile_time_instruction_count,5647000000,0.025
add_loop_inductor,compile_time_instruction_count,28650000000,0.015
add_loop_inductor,compile_time_instruction_count,28480000000,0.015
add_loop_inductor_dynamic_gpu,compile_time_instruction_count,42620000000,0.025
add_loop_inductor_dynamic_gpu,compile_time_instruction_count,42160000000,0.025
add_loop_inductor_gpu,compile_time_instruction_count,25090000000,0.015
add_loop_inductor_gpu,compile_time_instruction_count,24910000000,0.015
basic_modules_ListOfLinears_eager,compile_time_instruction_count,964300000,0.015
basic_modules_ListOfLinears_eager,compile_time_instruction_count,960300000,0.015
basic_modules_ListOfLinears_inductor,compile_time_instruction_count,18060000000,0.015
basic_modules_ListOfLinears_inductor,compile_time_instruction_count,17840000000,0.015
basic_modules_ListOfLinears_inductor_gpu_force_shape_pad,compile_time_instruction_count,16330000000,0.015
basic_modules_ListOfLinears_inductor_gpu_force_shape_pad,compile_time_instruction_count,15940000000,0.015
basic_modules_ListOfLinears_inductor_gpu,compile_time_instruction_count,10240000000,0.2
basic_modules_ListOfLinears_inductor_gpu,compile_time_instruction_count,10040000000,0.2
update_hint_regression,compile_time_instruction_count,1611000000,0.02
update_hint_regression,compile_time_instruction_count,1593000000,0.02
sum_floordiv_regression,compile_time_instruction_count,1058000000,0.015
sum_floordiv_regression,compile_time_instruction_count,1052000000,0.015
symint_sum,compile_time_instruction_count,3168000000,0.015
symint_sum,compile_time_instruction_count,3135000000,0.015
aotdispatcher_inference_nosubclass_cpu,compile_time_instruction_count,2015000000,0.015
aotdispatcher_inference_nosubclass_cpu,compile_time_instruction_count,2004000000,0.015
aotdispatcher_inference_subclass_cpu,compile_time_instruction_count,5785000000,0.015
aotdispatcher_inference_subclass_cpu,compile_time_instruction_count,5753000000,0.015
aotdispatcher_partitioner_cpu,compile_time_instruction_count,8664000000,0.015
aotdispatcher_partitioner_cpu,compile_time_instruction_count,8484000000,0.015
aotdispatcher_training_nosubclass_cpu,compile_time_instruction_count,3777000000,0.015
aotdispatcher_training_nosubclass_cpu,compile_time_instruction_count,3718000000,0.015
aotdispatcher_training_subclass_cpu,compile_time_instruction_count,10150000000,0.015
aotdispatcher_training_subclass_cpu,compile_time_instruction_count,10020000000,0.015

1 add_loop_eager compile_time_instruction_count 3002000000 2972000000 0.015
2 add_loop_eager_dynamic compile_time_instruction_count 5689000000 5647000000 0.025
3 add_loop_inductor compile_time_instruction_count 28650000000 28480000000 0.015
4 add_loop_inductor_dynamic_gpu compile_time_instruction_count 42620000000 42160000000 0.025
5 add_loop_inductor_gpu compile_time_instruction_count 25090000000 24910000000 0.015
6 basic_modules_ListOfLinears_eager compile_time_instruction_count 964300000 960300000 0.015
7 basic_modules_ListOfLinears_inductor compile_time_instruction_count 18060000000 17840000000 0.015
8 basic_modules_ListOfLinears_inductor_gpu_force_shape_pad compile_time_instruction_count 16330000000 15940000000 0.015
9 basic_modules_ListOfLinears_inductor_gpu compile_time_instruction_count 10240000000 10040000000 0.2
10 update_hint_regression compile_time_instruction_count 1611000000 1593000000 0.02
11 sum_floordiv_regression compile_time_instruction_count 1058000000 1052000000 0.015
12 symint_sum compile_time_instruction_count 3168000000 3135000000 0.015
13 aotdispatcher_inference_nosubclass_cpu compile_time_instruction_count 2015000000 2004000000 0.015
14 aotdispatcher_inference_subclass_cpu compile_time_instruction_count 5785000000 5753000000 0.015
15 aotdispatcher_partitioner_cpu compile_time_instruction_count 8664000000 8484000000 0.015
16 aotdispatcher_training_nosubclass_cpu compile_time_instruction_count 3777000000 3718000000 0.015
17 aotdispatcher_training_subclass_cpu compile_time_instruction_count 10150000000 10020000000 0.015
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65