JavaScript、Python 比 C++ 慢 8 倍、29 倍?( 二 )
在测试方法上 , 研究人员在两台内部服务器上进行了实验 , 每台服务器有2个XeonE5-2630V3、16个虚拟核心、2.4GHzCPU、256GBDDR4内存和两个7200RPM硬盘 。 它们运行的系统是Linux4.15.0 , 并通过10Gbps的互联网络连接 。
对于C++程序 , 研究人员使用的是GCC9.3.0根据C++17标准用-O3进行编译 。 对于OpenJDK13、CPython3.8.1和Go1.14.1 , 其使用了各自语言的参考实现 。 同时 , 使用Node.js13.12.0和V87.9.317.25版本 。
【JavaScript、Python 比 C++ 慢 8 倍、29 倍?】研究人员对每个基准进行了5次测试 , 取平均值 。 其中 , 在运行键-值存储、日志分析器和文件服务器的基准时 , client和worker线程的数量从1到1024不等 。 对于OpenJDK和V8来说 , 最小的内存量是通过确定不会导致崩溃的第一个堆配置来设置的;对于Go来说 , GOGC被设置为5% 。 然后研究人员不断增加堆的设置 , 直到性能不再提高 。 其使用第一个设置的结果(即最小的堆大小)得出最佳性能 。 对于日志解析器和文件服务器基准 , 所用的日志文件被存储在一个复制系数为2的分布式文件系统上 。 在运行每个基准之前 , 研究人员都清除了Linux的页面缓存 , 以保证测试准确性 。
Java、Go更具竞争力 , JavaScript、Python比C++慢了8倍和29倍
最终LangBench中各项基准的运行时间结果如下所示:
文章图片
其中 , 优化的GCC平均速度最快 , Go和OpenJDK紧随其后 , 比GCC慢了1.30倍和1.43倍 。 令人印象深刻的是 , 在12项基准测试中 , Go和OpenJDK有3项超过了优化的GCC 。
文章图片
总体而言 , 研究人员发现V8/Node.js和CPython表现最差 , 执行应用程序的平均速度分别比C++应用程序慢8.01倍和29.50倍 , 这意味着运行时下 , JavaScript、Python要比C++慢这么多 。 更糟糕的是 , 这两个运行时上的应用程序扩展性很差 , 因为它们无法有效地利用多个内核 。 在极端情况下 , CPython比GCC慢了129.66倍(在排序基准中) 。 V8/Node.js和CPython只有在工作负载受到磁盘I/O的瓶颈时 , 即在文件服务器基准中 , 才与GCC有竞争力 。
相比之下 , OpenJDK和Go应用程序即Java和Go语言比C++更具有性能竞争力 , 运行速度仅慢了1.43倍和1.30倍 , 并且可以轻松扩展到多个内核 。 在一些应用中 , OpenJDK和Go的性能超过了C++的同类产品 。
更多完整报告内容详见:https://www.usenix.org/system/files/atc22-lion.pdf
- 高通骁龙|价格屠夫摩托骁龙8+新机规格曝光:两亿像素、超大底,就等真香价
- 蜘蛛|华为太厉害了:麒麟980、5G巴龙5000多款芯片,被国家博物馆收藏
- 英特尔|Intel先进工艺王者归来:“7nm”出货3500万、“1.8nm”提前
- 芯片|从台积电、三星口中夺食?两大芯片巨头联合,芯片行业或迎洗牌
- 小米科技|中国品牌全球化排名:字节第1,阿里第2,华为不如小米、联想
- 钟薛高申请注册多个商标!钟薛低、钟薛不高、钟薛小高、钟薛步步高等
- 本文转自:南海网新海南客户端、南海网、南国都市报7月28日消息(记者 姚皓)“元宇宙”是...|消博会快报 国际知名服务咨询机构安永:着眼“元宇宙”
- iPhone|Intel全新至强W-3400血拼撕裂者:56核心、350W功耗
- 出入库管理系统与wms仓库管理系统的联系、区别
- 本文转自:中国经济网来源:新华网7月27日|消博会上的“高、新、特、优”产品