[
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.
Steffen,
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.
Oleg
[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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]