【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

相关文章

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

rust 中的 EBNF简介举例

《rust中的EBNF简介举例》:本文主要介绍rust中的EBNF简介举例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 什么是 EBNF?2. 核心概念3. EBNF 语法符号详解4. 如何阅读 EBNF 规则5. 示例示例 1:简单的电子邮件地址

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

在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 整数字