Project

General

Profile

Actions

Feature #14410

closed

Reduce allocations and retained objects in the uri common module

Added by sam.saffron (Sam Saffron) about 6 years ago. Updated about 6 years ago.

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

Description

Patch at:

https://github.com/ruby/ruby/pull/1801

require 'memory_profiler'

MemoryProfiler.report do
require 'uri'
end.pretty_print

Before:

Total allocated: 986643 bytes (15159 objects)
Total retained: 246370 bytes (2532 objects)

After:

Total allocated: 926903 bytes (13665 objects)
Total retained: 208570 bytes (1587 objects)


Quite a significant change, almost 1000 less RVALUEs around when you require 'uri' which almost every web app does.

See also: https://ruby-talk.trydiscourse.com/t/psa-string-memory-use-reduction-techniques/74477/13?u=samsaffron

To explain [-i.chr]


Files

diff.txt (1.49 KB) diff.txt sam.saffron (Sam Saffron), 01/27/2018 08:27 AM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0