< 返回版块

odd-cat 发表于 2022-02-08 15:31

Tags:rust,日报,Rust101,Puff,memmap,ferris-fetch,HPC

获取系统信息的命令行工具汇总

Is there some cli program like neofetch written in rust?

neofetch是一个用bash 3.2+编写的命令行系统信息工具;

以下是一些使用Rust编写的命令行工具的替代品:

  • ferris-fetch - A system information tool for Rustaceans.
  • freshfetch - A fresh take on neofetch.
  • fsi - FSI (Fetch System Info) cli tool written in Rust.
  • macchina - A system information fetcher, with an emphasis on performance and minimalism.
  • onefetch - Git repository summary on your terminal.
  • rfetch - A fast and minimal fetch program.
  • rsfetch - A WIP rewrite of rsfetch from scratch.
  • scrftch - Screenfetch in Rust.

以下是ferris-fetch的效果: ferris-fetch

各类语言编写的fetch工具的完整列表: https://beucismis.github.io/awesome-fetch/

Rust101: 与伦敦帝国理工学院计算社会系合作的Rust系列讲座

Rust Lecture Series with Imperial College London's Department of Computing Society

我很高兴有机会与80多名伦敦帝国理工学院的学生(以及其他大学的一些学生)分享我对Rust的热爱!第一堂课得到了大量反馈,许多人表达了他们对Rust编程语言的新兴趣!明天我将主持第二次讲座,我非常激动!

youtube地址:Rust 101 Lecture Series

Puff——一个基于Rust的CLI工具,用于将应用程序的配置存储在一个公共位置,以便轻松传输到另一台机器

Puff - a Rust-based CLI tool to store apps' configs in one common place for easy transfer to another machine

Puff是一个CLI工具,用于管理正在开发的应用程序的配置文件。通常,这些配置与项目的源代码一起使用。由于它们可能包含的密码/密钥,它们通常被排除在版本控制系统之外。Puff管理这些文件并将它们存储在一个公共位置,从而更容易将它们传输到另一台开发机器。你的应用程序通过Puff创建的符号链接访问配置文件。

详细使用说明请参考:https://crates.io/crates/puff

Rust中的内存映射文件

Memory mapped files in Rust

作为一名Rust新手,作者想在自己的第一个项目中处理一些非常大的二进制文件,读取它们,遍历它们,等等。 但是作者在搜索支持内存映射文件的Rust库时发现,memmap有超过700万次下载,但是它已经超过3年没有更新。 以下是作者的一些顾虑:

  1. 可以想象在过去的三年里,很多事情都发生了变化。但是这个库三年没有更新了,这个库还有用吗?
  2. 有没有更好的(非废弃的)替代库?
  3. 如果我用这个库作为依赖项启动一个大型项目,我将来会遇到什么问题?

其实针对这个问题,RUSTSEC上已经有条目(RUSTSEC-2020-0077)针对这个风险作出了提示,并给出了两个可选的替代开源库:

  1. mapr
  2. memmap2

一个性能优化的故事

An optimization story

作者把物理模拟速度提高100倍。作者用其最好的NumPy技能将其速度提高了4倍,在Rust中进行了一些其他优化后,速度提高了50倍。作者坦言,如果他有两个以上的CPU,速度可能会达到100倍。


From 日报小组 odd-cat

社区学习交流平台订阅:

Rust.cc 论坛: 支持 rss

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

评论区

写评论
eweca-d 2022-02-09 10:44

稍微扫了一眼,二者差距是50 / 4 = 12.5倍。rust之后进行了并行化,和其他乱七八糟的优化。只能说一方面是rust更底层,配合火焰图可以优化的地方更多。另一方面是,这个计算量太小,导致数值计算占CPU时间太短吧。如果是大型的矩阵计算,个人感觉并不能保证好太多的样子。

感觉rust比python在计算数学上的优势还是定制化,比如计算流体力学或者有限单元法这种矩阵有一定特征的稀疏矩阵,完全没法用现有的BLAS库的计算。但是这种本来现有的纯用Fortran和C++写的居多。所以用python比也不合适。用C++比的话,优点就是包管理和更安全而不是速度了。大部分科研工作者的代码能力比起专业CS来说都挺一般的,比如我。用C++的包管理会吐血,而且出了BUG根本看不懂。反正都要纯手写,选择rust真的更舒服。

--
👇
zzliujianbo: 学习了,NumPy底层应该也是C实现的吧,rust优化后快了50倍,不至于差这么多吧,不懂,求大佬解释。

zzliujianbo 2022-02-08 23:21

学习了,NumPy底层应该也是C实现的吧,rust优化后快了50倍,不至于差这么多吧,不懂,求大佬解释。

1 共 2 条评论, 1 页