【Rust日报】2021-11-20 最环保编程语言,Rust 仅次于 C 排第二

2024-06-22 23:18

本文主要是介绍【Rust日报】2021-11-20 最环保编程语言,Rust 仅次于 C 排第二,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最环保编程语言,Rust 仅次于 C 排第二

有没有想过计算机的能耗与编程语言的选择之间是否存在相关性?葡萄牙大学一组研究人员着手量化它。2017年的研究论文《Energy Efficiency across Programming Languages》对 27 种知名软件语言的运行时、内存使用和能耗进行了研究,使用以每种语言表达的十种不同的编程问题来监控此类语言的性能。

92201e40991dc426010704d4179a746c.png

文件链接,https://hackaday.com/2021/11/18/c-is-the-greenest-programming-language/

elfshaker

elfshaker,是一个高性能的针对二进制文件进行了优化的版本控制系统。

400 GiB -> 100 MiB,访问时间为1s+;当应用于 clang 构建时。

Github链接,https://github.com/elfshaker/elfshaker

semver-explain

semver-explain,是一个 CLI 工具,用于解释语义版本控制 (Semantic Versioning)要求,将其转换为仅具有小于、大于或等于比较器的形式,其中主要、次要和补丁版本都是指定的。

SemVer 需求的确切含义解释来自于 Cargo。尤其是它不处理连字符范围或来自 JS node-semver 库的 x-ranges。

$ semver-explain "^1.4.0"
>=1.4.0, <2.0.0
$ semver-explain "~0.5.3"
>=0.5.3, <0.6.0
$ semver-explain "5.6.*"
>=5.6.0, <5.7.0

Github链接,https://github.com/alilleybrinker/semver-explain

Rust 播客 | 与 Jane Lusby 讨论 Rust 中的错误处理

这期的 Rust 播客是 Allen Wyma 与 Jane Lusby 的访谈,Jane 是 Rust 错误处理项目组的负责人,也是 Rust 基金会的协作项目主管。

这期 Rust 播客主要的时间轴:

  • 00:57 - Jane 的介绍

  • 04:10 - Jane 对 Clippy 的贡献

  • 08:54 - Eyre

  • 15:49 - Failure & Anyhow

  • 17:13 - 在 anyhow 和 eyre 之间做出选择

  • 20:05 - AnyError 和 ThisError

  • 23:31 - Color-eyre

  • 26:08 - 其他在 eyre 中的 crates

  • 28:59 - 错误处理组

  • 38:12 - 与其他小组的合作

  • 46:05 - Rust 2021 & 2018

播客链接,https://rustacean-station.org/episode/047-jane-lusby/


From 日报小组 洋芋

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区

这篇关于【Rust日报】2021-11-20 最环保编程语言,Rust 仅次于 C 排第二的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085687

相关文章

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Rust 数据类型详解

《Rust数据类型详解》本文介绍了Rust编程语言中的标量类型和复合类型,标量类型包括整数、浮点数、布尔和字符,而复合类型则包括元组和数组,标量类型用于表示单个值,具有不同的表示和范围,本文介绍的非... 目录一、标量类型(Scalar Types)1. 整数类型(Integer Types)1.1 整数字

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

《数据结构(C语言版)第二版》第八章-排序(8.3-交换排序、8.4-选择排序)

8.3 交换排序 8.3.1 冒泡排序 【算法特点】 (1) 稳定排序。 (2) 可用于链式存储结构。 (3) 移动记录次数较多,算法平均时间性能比直接插入排序差。当初始记录无序,n较大时, 此算法不宜采用。 #include <stdio.h>#include <stdlib.h>#define MAXSIZE 26typedef int KeyType;typedef char In

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

【Rust练习】12.枚举

练习题来自:https://practice-zh.course.rs/compound-types/enum.html 1 // 修复错误enum Number {Zero,One,Two,}enum Number1 {Zero = 0,One,Two,}// C语言风格的枚举定义enum Number2 {Zero = 0.0,One = 1.0,Two = 2.0,}fn m