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
Priority: Minor
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]