I'm not familiar with how Windows works, but I wouldn't be surprised if it caches directory information. (Unix systems certainly would.) You probably aren't really doing much actual I/O to get the size of a file after the first run. Also, you probably want to subtract the time it takes to execute a no-op function:
def noop(): pass to eliminate the overhead of calling your main function. Skip -- https://mail.python.org/mailman/listinfo/python-list