Howard, If I'm reading the code correctly, you're using MD5 for the asset checksums. Since MD5 is a cryptographic hashing algorithm, it is in a sense "designed to be slow". But in the case of asset URLs and E-Tags, I don't think there is any need for cryptography. Most non-crypto hashing would be much faster, and the performance difference might be large for large assets, or a large number of them.
http://docs.oracle.com/javase/6/docs/api/java/util/zip/Adler32.html Although fast-but-unreliable" checksums like Adler32 are not recommended for most purposes, for the small number of hashes each asset will see over its lifetime they seem like a perfect match for the job here. On Thu, Mar 14, 2013 at 7:54 PM, Howard Lewis Ship <[email protected]> wrote: > Just committed a bunch, most everything is in place. > > I had to do a lot of work to keep any semblance of backwards compatibility. > I'm concerned that I may have affected some performance (but probably in > an imperceptable way). > > Still have to add E-Tags support all assets (including modules), and remove > far-future expires headers for modules. > > I'm very happy with how this is coming out; having "perfect" asset URLs is > going to be very nice for any kind of deployment whether large or small. > > -- > Howard M. Lewis Ship > > Creator of Apache Tapestry > > The source for Tapestry training, mentoring and support. Contact me to > learn how I can get you up and productive in Tapestry fast! > > (971) 678-5210 > http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
