[ 
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to