2018年11月以前にClojureをAWS Lambdaで使おうと思ったら 動作環境の選択肢として、 ClojureをJavaランタイム上で走らせる ClojurescriptをNode.jsランタイム上で走らせる の2つでした。Node.jsから子プロセスの実行という形で多言語での実行をサポートするApexでもClojureの場合はJavaランタイムを利用しているので、本質的には1.と同様になると思います。 問題点 Javaランタイムでの初期実行が遅い Clojureの場合、Clojureランタイムの初期化に時間がかかるのでJavaの場合よりさらに不利です。 必要以上に大きなメモリを割り当てる必要がある Labmdaはメモリに応じて大きなCPUパワーを割り当てるので、速度のために必要以上にメモリを割り当てなければなりません。 Jarファイルサイズは50MBが上限 圧縮したzipやjar
![ClojureをGraalVMでネイティブバイナリにしてAWS Lambdaカスタムランタイムで動かす - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/68d907860bf4663fd4fb5dd4ffd4bb351debedf7/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9Q2xvanVyZSVFMyU4MiU5MkdyYWFsVk0lRTMlODElQTclRTMlODMlOEQlRTMlODIlQTQlRTMlODMlODYlRTMlODIlQTMlRTMlODMlOTYlRTMlODMlOTAlRTMlODIlQTQlRTMlODMlOEElRTMlODMlQUElRTMlODElQUIlRTMlODElOTclRTMlODElQTZBV1MlMjBMYW1iZGElRTMlODIlQUIlRTMlODIlQjklRTMlODIlQkYlRTMlODMlQTAlRTMlODMlQTklRTMlODMlQjMlRTMlODIlQkYlRTMlODIlQTQlRTMlODMlQTAlRTMlODElQTclRTUlOEIlOTUlRTMlODElOEIlRTMlODElOTkmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTIxODlmYzI4NWNmODFmNDkwOWEzMDU1MmJkNjA3OWVi%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBrMm5ha2FtdXJhJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1lNzI4ZmRlNGE2ODY4ZjU4OWVmMGJhNGJmMDdkZmY1Nw%26blend-x%3D120%26blend-y%3D500%26blend-mode%3Dnormal%26s%3Dc55589988a9642709054549a48fe9a9c)