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-78) ExpandableBuffer uses direct byte buffers
Date Wed, 06 Jun 2007 21:13:26 GMT

    [ https://issues.apache.org/jira/browse/HTTPCORE-78?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12502105

Oleg Kalnichevski commented on HTTPCORE-78:

Patch checked in with some very minor modifications. 

Would you be interested in submitting a follow-up patch that optimizes ByteBuffer allocation
strategies in HttpCore NIO? Probably only Shared*Buffer classes should be using DirectByteBufferAllocator
per default as they are meant to be rather largish and constant in length. 

Besides, do consider sending in your CLA [1], so we could mention your name in the @author
tags of the classes you have made significant contribution to.


[1] http://www.apache.org/licenses/index.html#clas

> ExpandableBuffer uses direct byte buffers
> -----------------------------------------
>                 Key: HTTPCORE-78
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-78
>             Project: HttpComponents Core
>          Issue Type: Improvement
>    Affects Versions: 4.0-alpha4
>            Reporter: Steffen Pingel
>             Fix For: 4.0-alpha5
>         Attachments: httpcore-bytebuffer-allocator.patch, httpcore-bytebuffer-allocator.patch
> HttpCore allocates subtypes of ExpandleBuffer per connection for buffering requests and
responses. ExpandleBuffer creates a buffer using ByteBuffer.allocateDirect() which is initialized
to a certain size but may be resized as needed requiring the garbage collector to discard
the old buffer. 
> According to the documentation for ByteBuffer, direct buffers are recommended for "large,
long-lived buffers that are subject to the underlying system's native I/O operations". It
seems that these buffers are rather short-lived and ByteBuffer.allocate() might be a better
choice for allocation. 
> Another option would be to pass a factory for allocating and releasing buffers which
could reduce the number of allocations by reusing buffers.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

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

View raw message