There are two main things. First, remove the marker index caching. Thins makes it possible to safely use function from a threaded environment. Second, replace linear search with binary search, which speeds up random lookup. There is no measurable difference in the stabilization which had a comment about caching nature of track lookup. The random lookup complexity changed from O(N) to O(log N). In practice this also unlikely to be measurable, but thread-safety worth it.