Actions
Bug #19906
closedfix kwarg memory leak
Description
GitHub PR: https://github.com/ruby/ruby/pull/8556
ci info tracks kwargs and which are shared across aliases
30.times do
100_000.times do
def foo(k:); yield; end
alias bar foo
undef foo
end
puts `ps -o rss= -p #{$$}`
end
before:
30364
45120
59700
73932
88512
102680
116884
130884
145308
159688
174468
188680
203016
216908
231568
246096
260592
274900
289168
303420
317620
331956
346148
360708
374880
389172
403472
417824
432016
446040
460196
474604
489152
503248
517504
531944
546228
560520
574760
589108
after:
8760
8940
9156
9540
9548
9548
9548
9548
9548
9548
9548
9548
9548
9548
9548
9548
9548
9548
9548
9548
9556
9564
9564
9564
9564
9564
9564
9564
9564
9564
9564
9564
9564
9576
9744
9744
9744
9744
9744
9936
Actions
Like0
Like0Like0Like0Like0