Project

General

Profile

Actions

Feature #13721

closed

[PATCH] net/imap: dedupe attr keys in Net::IMAP::FetchData

Added by normalperson (Eric Wong) over 7 years ago. Updated almost 2 years ago.

Status:
Rejected
Target version:
-
[ruby-core:81926]

Description

Since attr hash keys are frequently reused, it makes sense to
deduplicate them up front.

This saves one allocation per-attr, per-message. When running
imap.fetch(1..-1, 'UID') on a mailbox with 30000 messages;
this saves 30000 allocations.

This relies on the String#-@ change in [Feature #13077]

  • net/imap: use frozen, deduplicated string in attr name (key)

Trivial (1-byte change :), I may commit in a few days if no response.


Files

Updated by shugo (Shugo Maeda) over 7 years ago

  • Status changed from Open to Assigned
  • Assignee set to shugo (Shugo Maeda)

Updated by shugo (Shugo Maeda) over 7 years ago

  • Assignee changed from shugo (Shugo Maeda) to normalperson (Eric Wong)

normalperson (Eric Wong) wrote:

Since attr hash keys are frequently reused, it makes sense to
deduplicate them up front.

This saves one allocation per-attr, per-message. When running
imap.fetch(1..-1, 'UID') on a mailbox with 30000 messages;
this saves 30000 allocations.

This relies on the String#-@ change in [Feature #13077]

  • net/imap: use frozen, deduplicated string in attr name (key)

Trivial (1-byte change :), I may commit in a few days if no response.

Sounds reasonable. Could you commit it on your own?

Updated by normalperson (Eric Wong) over 7 years ago

wrote:

Sounds reasonable. Could you commit it on your own?

Thanks. But maybe we can do it across-the-board
with [Feature #13725] (which was reverted with [ruby-core:82102])

I haven't had time to fix #13725 (sorry, having trouble focusing
on coding, lately).

Updated by shugo (Shugo Maeda) almost 2 years ago

  • Status changed from Assigned to Rejected

Rejected because [Feature #13725] was reverted and not fixed yet.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0