dev@javaserverfaces.java.net

Re: [REVIEW] Performance enhancements to ResponseStateManagerImpl

From: Ed Burns <ed.burns_at_sun.com>
Date: Wed, 31 May 2006 14:11:26 -0700

>>>>> On Wed, 31 May 2006 11:46:05 -0700, Ryan Lubke <Ryan.Lubke_at_Sun.COM> said:

RL> Resending with the the new files bundle.
RL> ResponseStateManagerImpl improvements. Bencharking
RL> shows an increase of 20-22 requests per second using
RL> 100 client threads.

I'd like to see some automated tests for the Base64InputStream and
Base64OutputStreamWriter classes. The latter has some concepts that are
hard to get right for all corner cases.

RL> M src/com/sun/faces/renderkit/ByteArrayGuard.java
RL> - ByteArrayGuard no longer handles the encryption/decription.
RL> It now is merely a container for the encrypt/decrypt
RL> ciphers. As far as the actual encryption/decryption
RL> operations, this is handled by chaining streams.

I like the code reduction for this.

RL> M src/com/sun/faces/renderkit/ResponseStateManagerImpl.java
RL> - streamlined implementation for restore and writing state
RL> based on the changes above and the new streams added
RL> below.

Where did you get this trick:

RL> + private static final char[] STATE_FIELD_START =
RL> + ("<input type=\"hidden\" name=\""
RL> + + ResponseStateManager.VIEW_STATE_PARAM
RL> + + "\" id=\""
RL> + + ResponseStateManager.VIEW_STATE_PARAM
RL> + + "\" value=\"").toCharArray();
RL> +

Otherwise, r=edburns



Ed
-- 
| ed.burns_at_sun.com  | {home: 407 869 9587, office: 408 884 9519 OR x31640}
| homepage:         | http://purl.oclc.org/NET/edburns/
| aim: edburns0sunw | iim: ed.burns_at_sun.com