Dan Stromberg wrote: > My new version formats an SD card and preallocates some file space in > about 3 minutes with "Optimize Performance" selected, and in about 30 > minutes with "Optimize for Quick Removal" selected. Needless to say, I > don't like the 27 minute penalty much.
For performance, the driver will probably use delayed write operations, buffering etc. For quick removal, it will probably make all operations atomic, i.e. perform a write operation and not return until the data has really reached the SD card. > But the old version of the program formats and preallocates in 3 minutes > irrespective of whether the drive is in "optimize performance" or > "optimize for quick removal". Somehow, I guess the new version does many small writes while the old one doesn't. When optimizing for quick removal, those operations add up, otherwise their overhead is negligible. > one_meg = 'a'*2**20 That's one mib, not one meg. ;) > file = open('remove-me', 'w') Try adding the 'b' flag, too. I wouldn't expect it to affect the IO speed, but it is one factor that adds up. Otherwise, I looked over your program and couldn't find anything that would explain a problem. Just wondering, what transfer speed do you get with the two versions? What is the theoretical maximum for the SD card? Uli -- Sator Laser GmbH Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932 -- http://mail.python.org/mailman/listinfo/python-list