diff --git a/mobile/lib/services/machine_learning/face_ml/face_clustering/linear_clustering_service.dart b/mobile/lib/services/machine_learning/face_ml/face_clustering/linear_clustering_service.dart index c427cbc930..5e0855eb47 100644 --- a/mobile/lib/services/machine_learning/face_ml/face_clustering/linear_clustering_service.dart +++ b/mobile/lib/services/machine_learning/face_ml/face_clustering/linear_clustering_service.dart @@ -131,12 +131,13 @@ class FaceLinearClustering { final errorStackTrace = receivedMessage['stackTrace']; final exception = Exception(errorMessage); final stackTrace = StackTrace.fromString(errorStackTrace); + _activeTasks--; completer.completeError(exception, stackTrace); } else { + _activeTasks--; completer.complete(receivedMessage); } }); - _activeTasks--; return completer.future; } diff --git a/mobile/lib/services/machine_learning/face_ml/face_ml_service.dart b/mobile/lib/services/machine_learning/face_ml/face_ml_service.dart index 4ca13b8d9d..81682e30a4 100644 --- a/mobile/lib/services/machine_learning/face_ml/face_ml_service.dart +++ b/mobile/lib/services/machine_learning/face_ml/face_ml_service.dart @@ -374,11 +374,16 @@ class FaceMlService { final faceIdToEmbedding = await FaceMLDataDB.instance.getFaceEmbeddingMap( minScore: minFaceScore, ); - _logger.info('read embeddings ${faceIdToEmbedding.length} '); + final gotFaceEmbeddingsTime = DateTime.now(); + _logger.info( + 'read embeddings ${faceIdToEmbedding.length} in ${gotFaceEmbeddingsTime.difference(clusterStartTime).inMilliseconds} ms', + ); // Read the creation times from Files DB, in a map from fileID to creation time final fileIDToCreationTime = await FilesDB.instance.getFileIDToCreationTime(); + _logger.info('read creation times from FilesDB in ' + '${DateTime.now().difference(gotFaceEmbeddingsTime).inMilliseconds} ms'); // Cluster the embeddings using the linear clustering algorithm, returning a map from faceID to clusterID final faceIdToCluster = await FaceLinearClustering.instance.predict(