编程语言也环保?C语言领跑,Python、Perl垫底

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇

文 | Travis

出品 | OSC开源社区(ID:oschina2013)

毋庸置疑,Python 是世界上最流行的编程语言之一,其被广泛运用于人工智能、数据分析、网络爬虫和 Web 开发等领域。在上个月的 TIOBE 榜单中,Python 一举超过 C 语言拿下榜首的位置也能够充分说明 Python 的流行程度。

但在 2017 年的一项研究,以及今年的补充研究中表明,Python 和 Perl 在一众参考对象中是不够环保和节能的编码语言。

e5010d971b86e65c95473b675d3674f5.png

我们先来说说 2017 年的研究。葡萄牙 Universidade do Minho 大学的研究人员在当时的研究中发现,就执行某些特定任务时消耗的能量而言,在所有参与测试的 27 种编程语言中 Python 和 Perl 的能耗最高,排名垫底,Python 仅比 Perl 稍好一些;而 C 语言能耗最低位居榜首,其次是 Rust、C++ 和 Ada。反应到具体数字上,C 语言的能耗为 1(以排名第一的 C 语言为基准,因此数字为 1),而 Python 和 Perl 都超过了 75。

比较不同编程语言的能源消耗、时间和内存使用情况(2017):

0f50aa41d509d6e6febd8172811715d3.png

而且此次研究推翻了大多数人惯有的想法,即人们可能会想当然地认为,一个运行速度更快的计算机程序会消耗更少的能源。但研究表明除了速度之外,还有其他因素会给能耗的最终结果产生影响。

自 2017 年以来这些编程语言都发生了大量变化,因此这个结果可能也不能反映现状。为了迎合这些编程语言的更新迭代,研究人员在今年对这项研究做出了补充,他们更新了测试和结果。在更新的测试中,研究人员建立了 DRAM 能耗、峰值内存和执行期间使用的总内存之间的相互关系。

7a2287a8794f635551dae82b66cb5b85.png

研究团队还进行了一组标准算法以及来自 Rosetta Code 的一些测试,Rosetta Code 是一个比较不同编程语言执行常见算法的网站。从下面的表格可以看出,当涉及到能源消耗时,Python 在大多数测试中都处于排名后半部分,Python 甚至不能在 24 小时截止时间内完成斐波那契任务。

b296e40c8dd6f0f30b3cb4f6504799c1.png4239eb0437a40d59e3787423bd1e4df2.png

综合最新的测试结果能够看出,Python 和 Perl 在多项测试中依旧排名垫底,虽然 Ruby 并没有倒数第一的测试成绩,但在多项测试中也均排名靠后。而 C、C++ 和 Rust 则刚好相反,它们是这些测试语言中相对最环保的语言。

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

bc1a98c86d1137eb3fb8741b13ae7b1d.png

点击👆卡片,关注后回复【面试题】即可获取

在看点这里339b5e3a5629a5d961aee8fbb92d5390.gif好文分享给更多人↓↓

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 是的,Flask是一个用Python语言编写的Web开发框架。但是它是基于WSGI协议的,所以理论上是可以用其他语言(例如C语言)来实现的,但是这不是一件很常见的事情,因为Flask是专门为Python语言设计的。 ### 回答2: Flask是一个基于Python的微型Web框架。它由Python编写,因此可与Python平台上的许多功能和库无缝集成。Flask提供了简单而灵活的方式来构建Web应用程序,不仅仅是单纯的网页开发,还可以用于RESTful API的开发。 虽然Flask本身是用Python编写的,但理论上也可以使用C语言进行与Flask相关的开发。Flask的源码是开放的,使用C语言将Flask的核心功能重新实现是有可能的。然而,这样的实现需要深入理解Flask框架的原理和工作机制,以及C语言的特性和使用。由于Flask在Python社区享有广泛的支持和生态系统,使用C语言重新实现可能会带来一些困难和限制。 总结来说,Flask是一个使用Python编写的框架,广泛用于开发Web应用程序。虽然理论上可以使用C语言重新实现Flask的核心功能,但这需要深入的技术知识和对Flask和C语言的了解。对于普通开发者来说,使用Python作为Flask的开发语言是最常见和推荐的选择。 ### 回答3: 是的,Flask是一个Python的微框架。它被设计成简单、轻量级且易于学习和使用。Flask依赖于Python的一些基本功能和库来提供Web应用程序开发的支持。Flask提供了一些方便的工具和函数,使得开发Web应用程序变得更加快速和简便。 虽然Flask是Python的框架,但是通过使用一些额外的第三方库,比如CFFI (C Foreign Function Interface),你可以在Flask应用程序中使用C语言代码。CFFI允许你在Python中调用C代码,并与C库进行交互。这样,你就可以在Flask应用程序中使用C语言编写的函数或模块。 如果你有一个C语言的库或功能,你可以使用CFFI将其集成到Flask应用程序中。在Flask应用程序中使用C语言的主要好处之一是,你可以利用C语言的高性能和低级别的功能来处理一些计算密集型任务或底层的系统交互。这对于一些特定的应用场景来说可能是非常有用的。 总结来说,Flask是一个Python的框架,但可以使用CFFI库在Flask应用程序中调用和使用C语言代码。这样可以充分利用PythonC语言各自的优势,为Web应用程序提供更灵活和高效的开发环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值