From 8b8a4437e237619cad60005691aa0239eb0c86c0 Mon Sep 17 00:00:00 2001 From: David Vroom Duke Date: Tue, 13 Mar 2018 14:39:08 -0700 Subject: [PATCH] Improve performance of batch operation serializer --- packages/grpc-native-core/src/client_interceptors.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/grpc-native-core/src/client_interceptors.js b/packages/grpc-native-core/src/client_interceptors.js index 01023a52..4f45b752 100644 --- a/packages/grpc-native-core/src/client_interceptors.js +++ b/packages/grpc-native-core/src/client_interceptors.js @@ -740,9 +740,14 @@ function _areBatchRequirementsMet(batch_ops, completed_ops) { var dependencies = _.flatMap(batch_ops, function(op) { return OP_DEPENDENCIES[op] || []; }); - var dependencies_met = _.intersection(dependencies, - batch_ops.concat(completed_ops)); - return _.isEqual(dependencies_met.sort(), dependencies.sort()); + for (var i = 0; i < dependencies.length; i++) { + var required_dep = dependencies[i]; + if (batch_ops.indexOf(required_dep) === -1 && + completed_ops.indexOf(required_dep) === -1) { + return false; + } + } + return true; } /**