WIth that approach the issue becomes one of how do you select the 10^6 choices in such a manner that the selection process does not introduce a bias to the results?
Start with your knowledge of the underlying process behind your data. Is there a mathematical model? What does the raw data represent? is there a particular reason for choosing sample subsets of length 50? Could you use 49, or 51, or 200 and get useful results? What does the processed data represent? Are there other algorithms which might produce approximate results that are "close enough" but with much lower computational burden?
Lynn