## Problem
Currently, even if `LAMBDA_REMOTE_DOCKER=1`, we unzip the zip files in the directory they are in, which is usually /var/lib/localstack, which usually has a bind mount to the host.
On docker desktop, due to the use of grpc-FUSE (on macos), this can be very slow, about 200 times slower than on volumes / directly on the host. With experimental virtio filesystem enabled (also on macos), this can be reduced to about 30 times as slow, but still problematic.
This means a lambda may take a lot of time processing, for each additional layer some more. This especially affects nodejs lambdas with huge node_modules folders.

## Probable solution
At least if `LAMBDA_REMOTE_DOCKER=1`, we should leave the initial zip files on the bind mount (for persistence etc), but the working directories after unzipping should be located on non-bind mounts, to speed up the IO for unzipping.
self.assertTrue(m)
            self.assertEqual(m.groups()[0], lambda_executors.Util.debug_java_port)
    def test_java_options_with_configured_debug_port(self):
        options = [
            "-agentlib:jdwp=transport=dt_socket,server=y,address=1234,suspend=y",
            "-agentlib:jdwp=transport=dt_socket,server=y,address=localhost:1234,suspend=y",
            "-agentlib:jdwp=transport=dt_socket,server=y,address=127.0.0.1:1234,suspend=y",
            "-agentlib:jdwp=transport=dt_socket,server=y,address=*:1234,suspend=y",
            "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1234",
            "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:1234",
            "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=127.0.0.1:1234",
            "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:1234",
        ]
        for item in options:
            result = self.prepare_java_opts(item)
            self.assertEqual("1234", lambda_executors.Util.debug_java_port)
            self.assertEqual(item, result)
    def prepare_java_opts(self, java_opts):
        lambda_executors.config.LAMBDA_JAVA_OPTS = java_opts
        result = lambda_executors.Util.get_java_opts()
        return result
    def test_get_java_lib_folder_classpath(self):
        jar_file = os.path.join(new_tmp_dir(), "foo.jar")
        save_file(jar_file, "")
        classpath = lambda_executors.Util.get_java_classpath(jar_file)
        self.assertIn(".:foo.jar", classpath)
        self.assertIn("*.jar", classpath)
    def test_get_java_lib_folder_classpath_no_directories(self):
        base_dir = new_tmp_dir()
        jar_file = os.path.join(base_dir, "foo.jar")