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]

Reply via email to