Would you recommend this approach for arrays of sizes in the millions? What other approaches could I take and what would their advantages and disadvantages be with respect to the options given above?