in reply to marking time during function call

Loading an array for up to 25 minutes and not running out of memory? That sounds uncommon. Unless, of course, loading the array really means a lot of computation work. But, then, perhaps you should say more about this process.

Maybe simply counting the elements added to the array and printing out some message each time that number is a multiple of some predetermined value (say, for example, 10,000). We are doing that all the time in a slightly different context: extracting data from a database for hours and hours (sometimes even days), and printing into the log file the date and the number of records extracted every 10,000 (or whatever) records. This way we can know at any point that the task is progressing, that it is not just hanging doing nothing.