Issue #13721 has been updated by shugo (Shugo Maeda).

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?


----------------------------------------
Feature #13721: [PATCH] net/imap: dedupe attr keys in Net::IMAP::FetchData
https://bugs.ruby-lang.org/issues/13721#change-65934

* Author: normalperson (Eric Wong)
* Status: Assigned
* Priority: Normal
* Assignee: normalperson (Eric Wong)
* Target version: 
----------------------------------------
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--------------------------------
0001-net-imap-dedupe-attr-keys-in-Net-IMAP-FetchData.patch (1 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>