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

Steffen Pingel updated HTTPCORE-78:
-----------------------------------


Oleg, if that is added to the constructor of ExpandableBuffer this will affect 
a lot of (test) classes it need to be propagated all the way from 
IOEventDispatch, right?

Are you thinking about something along these lines?

 ByteBufferAllocator {
  ByteBuffer allocate(int size);
  void release(ByteBuffer buffer);
 }

> ExpandleBuffer 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
>
>
> 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]

Reply via email to