[
https://issues.apache.org/jira/browse/HTTPCORE-361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13850220#comment-13850220
]
Sebastiano Vigna commented on HTTPCORE-361:
-------------------------------------------
And, well, the same fix should be made to containsHeader().
> Please reduce object creation in HeaderGroup.getFirstHeader()
> -------------------------------------------------------------
>
> Key: HTTPCORE-361
> URL: https://issues.apache.org/jira/browse/HTTPCORE-361
> Project: HttpComponents HttpCore
> Issue Type: Improvement
> Components: HttpCore
> Affects Versions: 4.3
> Reporter: Sebastiano Vigna
> Priority: Minor
> Fix For: 4.3.1
>
>
> The current implementation of getFirstHeader()
> public Header getFirstHeader(final String name) {
> for (final Header header : headers) {
> if (header.getName().equalsIgnoreCase(name)) {
> return header;
> }
> }
> return null;
> }
> uses a Java syntax that creates an iterator object for eac hcall. We are
> seeing a lot of those in heap dumps. The getLastHeader() method uses a loop
> and has no such problems.
> We realize that it is slightly less elegant, but it would be great if you
> could change this method into
> public Header getFirstHeader(final String name) {
> final int size = headers.size();
> for (int i = 0; i < size; i++) {
> final Header header = headers.get(i);
> if (header.getName().equalsIgnoreCase(name)) {
> return header;
> }
> }
> return null;
> }
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]