I only saw this tip in one old topic,and wasn't very sure about how efficient it was, so I ran a test :
test 1 : assigning to a float variable the weight of an animation by calling it via this (ex : anim["walk"]), looping 10000 times
test 2 : assigning to a float variable the weight of an animation by calling it via an AnimationState cache (ex : AnimationState ac = anim["walk"] before running the test, then calling ac.weight during test), looping 10000 times
test 1 returned a duration of 50 to 80 ms per batch of 10000 calls
test 2 returned a duration of 3 to 8 ms per batch of 10000 calls
(tested on an i7 920 intel proc)
Caching which animation clips you're calling is therefore 10 times faster.
I didn't think it would be this huge a difference, tbh, hence the creation of this topic for further reference.