Project

General

Profile

Actions

Bug #19906

closed

fix kwarg memory leak

Added by HParker (Adam Hess) about 1 year ago. Updated about 1 year ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:114925]

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

Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #18553: Memory leak on compiling method call with kwargsClosedko1 (Koichi Sasada)Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0