## 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.
from localstack.services import generic_proxy  
        
        LAMBDA_EXECUTOR.startup()
        
        validate_lambda_config()
        
        import localstack.contrib.thundra  
        generic_proxy.serve_flask_app(app=app, port=port)
    except Exception:
        LOG.exception("Error while starting up lambda service")
        raise
def on_config_change(config_key: str, config_newvalue: str) -> None:
    global LAMBDA_EXECUTOR
    if config_key != "LAMBDA_EXECUTOR":
        return
    LOG.debug(
        "Received config event for lambda executor - Key: '{}', Value: {}".format(
            config_key, config_newvalue
        )
    )
    LAMBDA_EXECUTOR.cleanup()
    LAMBDA_EXECUTOR = lambda_executors.AVAILABLE_EXECUTORS.get(
        get_executor_mode(), lambda_executors.DEFAULT_EXECUTOR
    )
    LAMBDA_EXECUTOR.startup()
def register_config_listener():
    from localstack.utils import config_listener
    config_listener.CONFIG_LISTENERS.append(on_config_change)
register_config_listener()