hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCORE-350) improve httpcore perfomence and reduce memory usage
Date Mon, 23 Sep 2013 08:35:04 GMT

    [ https://issues.apache.org/jira/browse/HTTPCORE-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13774378#comment-13774378
] 

Oleg Kalnichevski commented on HTTPCORE-350:
--------------------------------------------

I understand the rationale for this patch but there is one potential problem with it. The
#loadVersionInfo method uses ClassLoader passed to it as a parameter to retrieve the resource
file containing version info. That means it can produce different results for different class
loaders. We cannot just ignore this fact. 

So, we basically have two options here: cache results of the lookup on a per class loader
basis (which would be an overkill in my opinion) or move optimization logic to a higher level
(in case of HttpClient 4.3 to HttpClientBuilder).

Could you please prepare a patch for HttpClient 4.3 (trunk) instead?

Oleg
                
> improve httpcore  perfomence and reduce memory usage
> ----------------------------------------------------
>
>                 Key: HTTPCORE-350
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-350
>             Project: HttpComponents HttpCore
>          Issue Type: Improvement
>          Components: HttpCore
>    Affects Versions: 4.2.5, 4.3
>         Environment: all platform
>            Reporter: yuexiaojun
>              Labels: patch
>         Attachments: image2013-9-15 12-55-55.png, image2013-9-15 12-57-20.png, image2013-9-16
9-49-4.png, loadversion.patch
>
>
> when I new  DefaultHttpClient instance without defaultParams  and then getParams,It will
loadVersionInfo  by classloader from jar file everytime,this operation is slowly and unworthy;
So I add a hashmap to cache versioninfo at org.apache.http.util.VersionInfo#loadVersionInfo
and read the version only first time ;
> test case and result:
> case : create 100000 httpclient objects and recycle memory with Xmx512m Xms512m
> before: bring about 118 younggc and spent 84509ms
> after:  bring about 15 younggc and only spent 3352ms
> when physical memory is insufficient ,this issues may cause http response very slowly;

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


Mime
View raw message