elixir-lang/elixir — pull request #2948 by lexmag (2014-12-12 00:08:54+00:00)
Title: Improve `Enum.reverse_slice/3` performance and more

__[1,2,3,...,10], 3, 3__:
```
EnumReverseSlice.new: 10000000 0.50 µs/op
EnumReverseSlice.old: 10000000 0.95 µs/op
```
__[1,2,3,...,100], 3, 3__:
```
EnumReverseSlice.new: 1000000 2.64 µs/op
EnumReverseSlice.old: 500000 6.99 µs/op
```
__[1,2,3,...,100], 25, 25__:
```
EnumReverseSlice.new: 1000000 2.88 µs/op
EnumReverseSlice.old: 200000 8.16 µs/op
```
__[1,2,3,...,100], 40, 40__:
```
EnumReverseSlice.new: 500000 3.18 µs/op
EnumReverseSlice.old: 200000 8.21 µs/op
```
__[1,2,3,...,10_000], 10, 300__:
```
EnumReverseSlice.new: 10000 252.78 µs/op
EnumReverseSlice.old: 2000 887.39 µs/op
```
__1..100, 3, 3__:
```
EnumReverseSlice.new: 100000 16.12 µs/op
EnumReverseSlice.old: 100000 21.90 µs/op
```
__1..100, 25, 25__:
```
EnumReverseSlice.new: 100000 16.25 µs/op
EnumReverseSlice.old: 100000 22.67 µs/op
```
__1..100, 40, 40__:
```
EnumReverseSlice.new: 100000 15.60 µs/op
EnumReverseSlice.old: 100000 23.28 µs/op
```