为什么Python Lambda要比具有相同功能的Javascript Lambda慢得多?

2024-04-26 00:12:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用AWS创建一个排序比较工作台来托管排序lambda

我用python(python3.8)和javascript(nodejs12.x)lambdas实现了一个冒泡排序算法。两者都分配了512MB内存

当我使用数组长度N为1到5500的数组对彼此运行时,我得到了下面的图表。N在x轴上,时间在y轴上以毫秒为单位:

Python Bubble Sort vs Javascript Bubble Sort

虽然我预计冒泡排序会很慢,但我并不期望Python比Javascript慢100倍。JS达到的最大毫秒数约为120毫秒,而Python达到的最大毫秒数约为11100毫秒

也许有AWS相关的解释,或者我的实现非常缓慢

更新: 我将运行时从CPython切换到pypypy,这将运行bubble sort的时间减少了x100,图形现在更接近了,因此时间差是由编译器造成的:

PyPy Bubble Sort vs Node Bubble Sort


Tags: lambda内存算法aws排序图表时间单位
3条回答

Python需要运行CPython来解释、编译代码并运行它。它以某种方式创建了一个层来处理它,因此需要更多的时间。 你可以看到更多here

NodeJS可以使用本机Javascript指令进行编译,运行代码需要几秒钟

当然,“问题是您正在实现一个气泡(!)排序!”

当您现在使用的任何一种语言都可以对事物进行排序时,您为什么要实现自己的“排序算法”

“你不再上学了!”

cpython和node在解释代码的方式上有所不同:

相关问题 更多 >