ReactiveCocoa/ReactiveCocoa — pull request #1414 by epatey (2014-07-17 15:10:19+00:00)
Title: For consideration. Increase speed of +combineLatest: by 60% by converting to a non-recursive implementation.

One performance issue I've consistently found with my iOS app, particularly in table view and collection view cells, is the performance of `+combineLatest:`. Although the current implementation of the signal is a simple and elegant composition using `+join:block` and `-combineLatestWith` the recursive simplicity comes at material performance cost.

I've taken a stab at a non-recursive implementation and found that it takes ~40% as much time to subscribe to a `combineLatest:` signal.

I'm running with this code in my product, and I'm curious what others think about the approach.