Feature #13721
closed[PATCH] net/imap: dedupe attr keys in Net::IMAP::FetchData
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
shugo@ruby-lang.org 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.