wip on speeding up unsharing - delete index files in parallel

dbus-notify
Zlatin Balevsky 2022-08-15 15:36:29 +01:00
parent 6ff25d32f5
commit c7177f7301
No known key found for this signature in database
GPG Key ID: A72832072D525E41
1 changed files with 12 additions and 5 deletions

View File

@ -42,6 +42,9 @@ class PersisterFolderService extends BasePersisterService {
final static int CUT_LENGTH = 6
private static final int PARALLEL_UNSHARE = 128
private final byte[] salt
private final String saltHash
private final Map<Path, String> cachedRoots = Collections.synchronizedMap(new HashMap<>())
@ -135,10 +138,14 @@ class PersisterFolderService extends BasePersisterService {
* @param unsharedEvent
*/
void onFileUnsharedEvent(FileUnsharedEvent unsharedEvent) {
if (unsharedEvent.unsharedFiles.length < PARALLEL_UNSHARE) {
persisterExecutor.submit({
for (SharedFile sharedFile : unsharedEvent.unsharedFiles)
unshareFile(sharedFile)
} as Runnable)
} else {
unsharedEvent.unsharedFiles.toList().stream().parallel().forEach {unshareFile(it)}
}
}
private void unshareFile(SharedFile sharedFile) {