予想でしかないですが、

* reverse() は内部的には `i=0; i<length; i++` を `i=length-1; i>=0; i--` に変えてるだけなので実質速度差がない
* `:last` は線形的に探しに行くアルゴリズムになってて毎回要素数分評価が走ってて遅い

とかなんですかね…。

そもそもは、

**下から順番に表示したい（アニメーションで）**

って思ってなおかつ `for` をなるべく使いたくなくて `reverse` と `prepend` した結果 `:first` を使わざるを得なかっただけなんですけどね :smile: 

可読性は `:first` `:last` って selector に書いちゃった方が良さそうですね。