Le 12/02/2019 à 18:56, Alistair Grant a écrit : > Hi Cyril, > > I'm glad you're able to commit now. :-) > > A few comments on the performance: > > I haven't done a performance comparison for a while, and there have been > a few changes in the plugin, so I'll keep it qualitative for now and try > and run some more tests soon. > > FileReference>>exists should be significantly faster than before. It > used to retrieve all the file attributes (an array of values, mostly > integers and booleans). Now it just returns a boolean. > > Retrieving individual file attributes should also be faster. E.g. > FileReference>>modificationTime also retrieved all file attributes and > threw away everything except the desired attribute. Now it answers just > the requested attribute. > > Retrieving a file entry, i.e. DiskDirectoryEntry, is probably a bit > slower because more information is being retrieved than previously. > > FileReference>>exists gets called a lot. So do requests for individual > file attributes. So my perception was that overall the system would > probably be a bit faster than previously. > > However any application that iterates over a large number of files could > well be slower because the Guide / Visitor system retrieves entries. >
Thank you for the detailed explanation! > Do you know how many files are being deleted when the system feels > slower? I was committing in Iceberg that is a Filetree repository. My change impacted multiple package thus I would say it should be around 2500 files and 500 folders. > > It would be straightforward to modify the directory iteration primitives > to only answer the file name instead of all attributes. I'll have a > look and see how easy it would be to modify the Guide / Visitor objects > to retrieve only file names instead of entire entries. > So if possible it would make file copy/deletion even faster than before IIUC? That would be really great! > Cheers, > Alistair > -- Cyril Ferlicot https://ferlicot.fr
signature.asc
Description: OpenPGP digital signature
