Page 88 - 《软件学报》2025年第5期
P. 88
1988 软件学报 2025 年第 36 卷第 5 期
为 783.91 ms. 这表明在亚马逊 Lambda 上执行 Python 应用产生的冷启动延迟最低, JavaScript 应用的冷启动延迟
相对低, 而 Java 应用的冷启动延迟最高, 大约是 Python 应用冷启动延迟的两倍. 这样的结果可能是由于 Python
和 JavaScript 是轻量级编程语言, 而 Java 是一种重量级编程语言. 此外, 对于这些编程语言的应用, 内存分配大小
对冷启动延迟的影响不明显. 根据图 3 中的冷启动性能数据分布, 可以看出这 3 种编程语言的应用在亚马逊
Lambda 上执行的冷启动延迟相对集中. 根据表 6 中上下四分位数范围的数据, 这些应用在不同内存配置下的冷启
动延迟差异大约为 50 ms.
3 000 3 000 3 000
亚马逊 亚马逊 亚马逊
2 500 128 MB 2 500 256 MB 2 500 512 MB
冷启动性能 (ms) 1 500 1 500 1 500
2 000
2 000
2 000
1 000
1 000
1 000
500
0 500 0 500 0
Python JavaScript Java Python JavaScript Java Python JavaScript Java
3 000 3 000
亚马逊 亚马逊
2 500 1 024 MB 2 500 2 048 MB
冷启动性能 (ms) 1 500 1 500
2 000
2 000
1 000
1 000
500
0 500 0
Python JavaScript Java Python JavaScript Java
图 3 亚马逊 Lambda 在不同内存分配下执行不同编程语言编写的应用产生的冷启动延迟
16 000 16 000 16 000
谷歌 谷歌 谷歌
14 000 14 000 14 000
128 MB 12 000 256 MB 12 000 512 MB
12 000
冷启动性能 (ms) 10 000 10 000 10 000
8 000
8 000
8 000
6 000
6 000
6 000
4 000
2 000 4 000 4 000
2 000
2 000
0 0 0
Python JavaScript Java Python JavaScript Java Python JavaScript Java
16 000 16 000
谷歌 谷歌
14 000 14 000
1 024 MB 12 000 2 048 MB
12 000
冷启动性能 (ms) 10 000 10 000
8 000
8 000
6 000
6 000
4 000
2 000
2 000 4 000
0 0
Python JavaScript Java Python JavaScript Java
图 4 谷歌 Cloud Functions 在不同内存分配下执行不同编程语言编写的应用产生的冷启动延迟
对于谷歌 Cloud Functions 的冷启动性能, 从图 4 的整体趋势来看, 不同编程语言的应用在谷歌 Cloud
Functions 上的冷启动延迟没有显著差异. 然而, 当内存设置为 128 MB 时, 产生的冷启动性能分布相对不稳定. 从
图 4 中 128 MB 的结果可以看出, Python 应用的冷启动延迟结果分布广泛. 表 6 中展示出其上下四分数范围从