Some ideas for improving the binary search for array stores:
https://dirtyhandscoding.wordpress.com/2017/08/25/performance-comparison-linear-search-vs-binary-search/
IMO the two should be combined - binary search should be used to narrow down the range to the point where linear search is faster, then continue with that.