diff --git a/api/controller/dependency.py b/api/controller/dependency.py
index fcf9750..338cfac 100644
--- a/api/controller/dependency.py
+++ b/api/controller/dependency.py
@@ -86,7 +86,8 @@
     board = input_proto.build_target.name
     sysroot_path = cros_build_lib.GetSysroot(board or None)
 
-  packages = [controller_util.PackageInfoToCPV(x) for x in input_proto.packages]
+  packages = tuple(
+      controller_util.PackageInfoToCPV(x) for x in input_proto.packages)
 
   json_map, sdk_json_map = dependency.GetBuildDependency(sysroot_path, board,
                                                          packages)
diff --git a/api/controller/dependency_unittest.py b/api/controller/dependency_unittest.py
index 455bd9b..9dfd670 100644
--- a/api/controller/dependency_unittest.py
+++ b/api/controller/dependency_unittest.py
@@ -136,7 +136,7 @@
                                        self.api_config)
     self.assertEqual(self.response.dep_graph.build_target.name, 'deathstar')
     pkg_to_cpv.assert_called_once_with(package)
-    get_dep.assert_called_once_with('/build/target', 'target', [pkg_mock])
+    get_dep.assert_called_once_with('/build/target', 'target', (pkg_mock,))
 
   def testValidateOnly(self):
     """Sanity check that a validate only call does not execute any logic."""
diff --git a/service/dependency.py b/service/dependency.py
index 84a7d70..1adf55e 100644
--- a/service/dependency.py
+++ b/service/dependency.py
@@ -7,6 +7,7 @@
 
 from __future__ import print_function
 
+import functools
 import os
 from pathlib import Path
 import re
@@ -278,6 +279,7 @@
   return results
 
 
+@functools.lru_cache()
 def GetBuildDependency(sysroot_path, board=None, packages=None):
   """Return the build dependency and package -> source path map for |board|.
 
@@ -286,7 +288,7 @@
         used.
     board (str): The name of the board whose artifacts are being created, or
         None if no sysroot is being used.
-    packages (list[CPV]): The packages that need to be built, or empty / None
+    packages (tuple[CPV]): The packages that need to be built, or empty / None
         to use the default list.
 
   Returns:
@@ -401,8 +403,9 @@
     The relevant package dependencies based on the given list of packages and
       src_paths.
   """
+  pkgs = tuple(packages) if packages else None
   json_deps, _sdk_json_deps = GetBuildDependency(
-      sysroot_path, build_target.name, packages=packages)
+      sysroot_path, build_target.name, packages=pkgs)
 
   relevant_packages = set()
   for cpv, dep_src_paths in json_deps['source_path_mapping'].items():
diff --git a/service/packages.py b/service/packages.py
index 4d48891..81d1ac1 100644
--- a/service/packages.py
+++ b/service/packages.py
@@ -684,9 +684,10 @@
   """Check if |build_target| builds |atom| (has it in its depgraph)."""
   cros_build_lib.AssertInsideChroot()
 
+  pkgs = tuple(packages) if packages else None
   # TODO(crbug/1081828): Receive and use sysroot.
   graph, _sdk_graph = dependency.GetBuildDependency(
-      build_target.root, build_target.name, packages)
+      build_target.root, build_target.name, pkgs)
   return any(atom in package for package in graph['package_deps'])
 
 
