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]

Reply via email to