Minor performance improvements
------------------------------
Key: HTTPCORE-212
URL: https://issues.apache.org/jira/browse/HTTPCORE-212
Project: HttpComponents HttpCore
Issue Type: Improvement
Components: HttpCore
Reporter: Tony Poppleton
Priority: Minor
JProfiler highlighted a few minor bottlenecks in HttpCore, and two patches are
attached.
Neither of these two patches has been benchmarked in a proper fashion, I just
observed that they dropped of the JProfiler radar (which isn't a thorough way
of doing this and may be wrong!). Could someone with a benchmarking suite
already setup please test these patches for performance to confirm they are
indeed faster and also if possible ascertain how much faster.
The first patch is to remove the unnecessary creation of a CharArrayBuffer in
HttpHost.toHostString. In cases without a port, there is no object creation at
all now, and in cases with a port then Java string concatenation is used (and
optimized away in recent JVMs).
The second patch is more involved and affects BasicLineParser. Given that all
of my responses are being processed with this class, I decided I should look at
optimizing it. The main culprit is the string creation in
CharArrayBuffer.substringTrimmed which is only required to be able to call the
Java Integer.parseInt method. I normally prefer using Java classes where
possible, however this patch implements a custom parseInt method which also
removes the need for the indexOf operation (so the CharArrayBuffer/String is
now only scanned once rather than twice).
--
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]