You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Sebastiano Vigna (JIRA)" <ji...@apache.org> on 2013/11/04 14:20:17 UTC

[jira] [Created] (HTTPCLIENT-1430) Please reduce object creation in HeaderGroup.getFirstHeader()

Sebastiano Vigna created HTTPCLIENT-1430:
--------------------------------------------

             Summary: Please reduce object creation in HeaderGroup.getFirstHeader()
                 Key: HTTPCLIENT-1430
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1430
             Project: HttpComponents HttpClient
          Issue Type: Improvement
          Components: HttpClient
    Affects Versions: 4.3.1
            Reporter: Sebastiano Vigna
            Priority: Minor


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#6144)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org