[
https://issues.apache.org/jira/browse/HTTPCORE-361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sebastiano Vigna updated HTTPCORE-361:
--------------------------------------
Description:
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;
}
was:
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;
}
> 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]