On 3/17/2014 5:40 AM, Bert Huijben wrote:

And updating these attributes one at a time during checkout would be huge (not 
a small) performance killer during checkout, as both operations would be 
updating the MFT.

We should try to perform as much operations as possible while having the files 
open anyway, as each file open (which at the kernel level includes operations 
as setting properties) will involve virus scanners, etc.


With the current trunk code the best solution might be to just remove the 
setting of the 'don't index' property, as the current code already moves the 
files in place while still open and 100% locked from indexers.
(Those indexers really slowed us down on Windows XP and 7 around the time that 
we introduced this flag as the indexer opened the file between us creating and 
moving the file)

        Bert




As far as the ACLs, I think Windows Explorer uses this technique, so if it causes problems with scanners, these problems happen just working with files in Explorer too.

It is more complexity, but you could check if the 'attributes' are incorrect and only make the API call if there is something to change. Thus, only those users affected by the problem incur any decrease in performance.

(This is assuming the API's in question are not already optimized for this case; if I recall correctly, I don't think these kinds of APIs edit the modified date in any case, for example.)

Reply via email to