Processors for iOS devices are slower than your laptop. There may be no way to improve on this with the currently available hardware.
Are you sure that the In Stock field is stored/indexed? Such a field often is unstored due to references to a related table.
Do you really need to find all records where the product is instock?
What if you found all records whose name was < "j" and in stock and sorted those, then performed a find for all records whose name is >"j" and in stock when you need to work with the rest of the list?
Great suggestion from PhilModJunk but if you do not want to break up the data into small subsets, you could
1. Set FileMaker to use minimal indexing for the text field being sorted (index only the first 100 characters ), or
2. Create a new number field as the key field to sort on, it will sort faster. You have to come up with a formula to represent the text string you are currently sorting. This is basically building an alternate index that is smaller in size and sort on that. But the processor speed limitation will not get any better.