Theseus (国外/开源/高端嵌入式操作系统/研究项目)

关键字: 嵌入式操作系统/研究型


介绍


Theseus 是美国莱斯大学多年实验的结果,也有其他大学参与,比如耶鲁大学。它通过减少一个组件对另一个组件持有的状态来重新设计和改进操作系统的模块化,并利用一种安全的编程语言 Rust,将尽可能多的操作系统责任转移给编译器。


Theseus 体现了两个主要贡献。


  • 一个操作系统结构。其中许多微小的组件具有明确定义的、运行时持久的界限,它们之间的互动不需要彼此持有状态。

  • 一种使用语言级机制实现操作系统本身的内部语言方法。这样编译器就可以执行关于操作系统语义的不变性。


Theseus 的结构、内部语言设计和状态管理以超越现有作品的方式实现了核心操作系统组件的实时演进和故障恢复。


更多资料:《Theseus: an Experiment in Operating System Structure and State Management》


代码及团队规模


代码量大约为 56000 行代码。


团队规模:


  • 主力开发:1 人。

  • 社区贡献:17 人。


项目周期


该项目自 2017 年 3 月启动,目前已经进入维护期。

工具软件

工具软件包括使用 Rust 实现的一些 命令行工具、桌面软件等。

RustDesk (国内/部分开源/远程桌面软件)

rustdesk,是一款远程桌面软件,开箱即用,无需任何配置,替代 TeamViewer 和 AnyDesk。您完全掌控数据,不用担心安全问题。rustdesk 是一款商业开源软件,开源度 90%。


代码及团队规模


代码量大约为 35000 行 Rust 代码。


团队规模:


  • 主力开发: 1 人。

  • 社区贡献: 8 人。


项目周期


2021 年 3 月 27 发布 1.1 版本,之前的版本迭代无从知晓。


自此之后基本每月迭代一两个小版本。

spotify-tui (国外/终端音乐软件)

关键字:Terminal UI/ Spotify


介绍


spotify-tui 是一款终端 Spotify 音乐客户端,基于 Rust 终端 UI 开发框架 Tui-rs 开发。


代码及团队规模


代码量大约为 12000 行 Rust 代码。


团队规模:


  • 主力开发:1 人。

  • 社区贡献:84 人。


开发周期


已经进入维护期,平均每月一个小版本。

Ripgrep (国外/终端文本搜索)

关键字:文本处理/ 终端工具


介绍


ripgrep 是一个以行为单位的搜索工具, 它根据提供的 pattern 递归地在指定的目录里搜索。它是由 Rust 语言写成,相较与同类工具,它的特点就是无与伦比地快。ripgrep 目前已经成为 Linux 下最快的文本搜索工具。


代码及团队规模


代码量大约 35000 行 Rust 代码。


团队规模:


  • 主力开发:1 人。

  • 社区贡献:287 人。


项目周期


项目于 2016 年开始启动,在 2018 年之前迭代比较频繁,后面进入稳定维护期,基本一年一个大版本,目前版本为 13.0.0 。

nushell (国外/开源/shell 工具)

关键字:shell


介绍


NuShell 是使用 Rust 语言编写的跨 Unix, Windows, macOS 系统的现代 Shell 程序。


NuShell 不像传统的 Unix Shell,它从 PowerShell 汲取灵感,将每个命令产生的结果视作具有结构的对象,而不是传统的原始字节。但和 PowerShell 相比,它的速度要快得多。


NuShell 的特色在于结构化数据以及类似 SQL 的二维表操作, 在处理大量结构化数据时具有一定优势,几乎相当于一个针对本地文件、数据的 SQL 解析器。不过其缺少流程控制语句的特点,让它难以胜任逻辑化的系统管理工作。


代码及团队规模


代码量大约为 10 万行 Rust 代码。


团队规模:


  • 主力开发: 2 人。

  • 社区贡献:231 人。


项目周期


该项目于 2019 年 5 月启动,迭代周期为每个月一个小版本,目前为 0.32.0 版本。

alacritty (国外/开源/模拟终端)

关键字:模拟终端/OpenGL


介绍


Alacritty 是一个免费的开源,快速,跨平台的终端仿真器,它使用 GPU图形处理单元 )进行渲染,实现了Linux中许多其他终端仿真器所不具备的某些优化。


Alacritty 专注于简单性能两个目标。 性能目标意味着,它应该比任何其他可用的终端仿真器快。 简单性目标意味着,它不支持 Linux 中的选项卡分割 (可以由其他终端多路复用器 - tmux轻松提供)等功能。


性能上已经秒杀 Linux 上同类工具了。


代码及团队规模


代码量大约为 22000 行 Rust 代码。


团队规模:


  • 主力开发: 2 人

  • 社区贡献:330 人。


项目周期


项目启动于 2016 年,目前迭代周期平均每三个月发布一个新的小版本。目前版本号 0.8.0。虽然还未稳定 1.0 版本,但已经成为很多人日常开发工具了。

Gitui (国外/开源/Git 终端 UI)

关键字:Git/ Terminal UI


介绍


Gitui 是一个速度很快的 Git 终端界面。


代码及团队规模


代码量大约为 29000 行 Rust 代码。


团队规模:


  • 主力开发:1 人。

  • 社区贡献:42 人。


项目周期


项目于 2020 年 3 月 15 日启动,迭代周期平均为每两周一个小版本发布。目前 0.16.1 版本。

其他优秀的终端工具

  • exa,Rust 重写 ls  工具。

  • bottom,Rust 重写 Top 工具。

  • starship 超级快、支持各种订制的极简命令行提示符,支持任意 shell

  • bat 支持更多特性的 cat 克隆

  • delta git、diff 输出查看器

  • zoxide 更快捷地浏览文件系统

  • fd简单、快速、用户友好的 find 替代品

  • tealdeer  众人一起编写的终端命令速查卡

机器学习

机器学习领域包括,基于 Rust 实现的机器学习框架、科学计算库等等。

linfa (国外/开源/机器学习工具包)

关键字:scikit-learn/ sklearn/ 基础工具包


介绍


Linfa 是一个 Rust 实现的 类似于 python  scikit-learn 的库,旨在提供一个全面的工具包,可以使用 Rust 构建机器学习应用程序。该团队还创建了 Rust-ML 组织。


scikit-learn,又写作 sklearn,是一个开源的基于 python 语言的机器学习工具包。 它通过 NumPy, SciPy 和 Matplotlib 等 python 数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。


更多资料:Rust 机器学习之书


代码及团队规模


代码量大约为 23000 行 Rust 代码。


团队规模:


  • 主力开发:6 人

  • 社区贡献:12 人


项目周期


该项目 2018 年就立项了,但是正式动工是 2020 年 10 月,2021 年进入迭代期。基本每月一个小版本,最近的版本在 4 月份发布的,0.4.0 版本。项目开发状态还是比较活跃的。

tokenizers (国外/开源/自然语言处理分词库)

关键字:自然语言处理/ 分词库


介绍


tokenizers 是 Hugging Face 公司开源的一款 Rust 实现的分词库。


Hugging Face  是一家总部位于美国纽约的聊天机器人初创服务商。该公司在 NLP 界鼎鼎大名,三月份刚刚完成 4000 万美元 B 轮融资。在 GitHub 上发布了开源 NLP 库 Transformers。


基于深度学习的现代 NLP 管道中的瓶颈之一就是 tokenization,尤其是通用性强且独立于框架的实现。


所以,该分词器的核心是用 Rust 编写的,并且存在 Node 和 Python 的绑定。提供当今最常用的分词器的实现,重点是性能和通用性。


特点:


  • 使用当今最常用的分词器(tokenize),训练新的词汇并进行标记。

  • 由于采用 Rust 实现,速度极快(包括训练和标记化)。在服务器的 CPU 上对一 GB 的文本进行标记化只需不到 20 秒。

  • 易于使用,但也非常通用。

  • 为研究和生产而设计。

  • 正则化带有对齐性跟踪。总是可以得到与给定标记相对应的原始句子的部分。

  • 做所有的预处理。截断、填充、添加你的模型需要的特殊标记。


代码及团队规模


代码量大约 28000 行 Rust 代码。占总项目的 68%,该项目还有部分 Python 代码。


项目周期


该项目自 2019 年 10 月开始启动,迭代周期平均为每月一个小版本,目前版本为 Python V0.10.3

tch-rs (国外/开源/PyTorch 绑定)

关键字:PyTorch/ cpp api 绑定


介绍


tch-rs是 Pytorch 的 Cpp API 的 Rust 绑定。 Tch Crate 的目标是围绕 Cpp Pytorch API 提供一些薄的包装器。 它旨在尽可能接近原始的 Cpp API。 然后可以在此之上开发更加惯用的 Rust 绑定。


代码及团队规模


代码量大约为 58000 行 Rust 代码。


团队规模:


  • 主力开发:1 人

  • 社区贡献:36 人


项目周期


该项目从 2019 年 2 月启动,截止到今天,还没有正式发布任何版本。目前还在活跃维护中,但可能是 个人项目。

ndarray (国外/开源/科学计算)

关键字:科学计算/ N 维数组


ndarray 是一个由 Rust 官方团队中资深科学计算专家 bluss 开发的开源项目,实现了基于 rust 的矩阵和线性运算。目标是在 Rust 中建立类似于 numpy 和 openblas 的科学计算社区。它是机器视觉、数据挖掘、生物信息等多类科学计算库的基础,社区中的主要用户为一些相关技术的高校或者研究所。


目前 华为 也在深度参与该基础库的研发,参见 华为 | Rust 科学计算多维数组运算库的分析与实践


另外还有线性代数相关库:ndarray-linalg


代码及团队规模


代码量大约为 29000 行 Rust 代码。


团队规模:


  • 主力开发:1 人

  • 社区贡献:57 人


项目周期


该项目自 2015 年 11 月启动,平均每半年 1 ~ 2 个小版本发布。

TVM-rs (国外/开源/ TVM rust 绑定)

关键字:Apache/ TVM


介绍


tvm-rs 是 TVM 的 Rust 绑定。


TVM 是由华盛顿大学在读博士陈天奇等人提出的深度学习自动代码生成方法,去年 8 月机器之心曾对其进行过简要介绍。该技术能自动为大多数计算硬件生成可部署优化代码,其性能可与当前最优的供应商提供的优化计算库相比,且可以适应新型专用加速器后端。


简单来说,TVM 可以称为许多工具集的集合,其中这些工具可以组合起来使用,来实现我们的一些神经网络的加速和部署功能。这也是为什么叫做 TVM Stack 了。TVM 的使用途径很广,几乎可以支持市面上大部分的神经网络权重框架(ONNX、TF、Caffe2 等),也几乎可以部署在任何的平台,例如 Windows、Linux、Mac、ARM 等等。


代码及团队规模


代码量大约为 1 万多行。


团队规模:


  • 主力开发:3 人

  • 社区贡献: 7~10 人


项目周期


不定时维护。

Neuronika (国外/开源/机器学习框架)

关键字:PyTorch/ 机器学习框架


介绍


Neuronika 是一个用 Rust 编写的机器学习框架,与 PyTorch 类似,现已实现最常见的层组件(dense 层、dropout 层等),速度堪比 PyTorch。其构建重点在于易用性、快速原型开发和高效性能。


Neuronika 是由 Francesco Iannelli 等人开发,他们现在是计算机科学的硕士生。该框架提供了自动微分和动态神经网络,非常像 Pytorch。目前已经实现了最常见的层组件,如 dense 层、dropout 层、GRU、LSTM 和 1d-2d-3d CNN,然而,缺少池化层等等。Neuronika 还提供了损失函数、优化器、计算图、张量和数据实用程序。


速度方面,项目作者表示 Neuronika 的表现可与 PyTorch 媲美。你可以对它进行基准测试。但目前还不能支持 GPU。想要进行基准测试,可以参考测试文档。


Neuronika 的核心机制是一种叫做反向模式自动微分机制( reverse-mode automatic differentiation),这种机制允许用户在改变动态神经网络时可以轻松实现,没有任何开销,可通过 API 运行。


代码及团队规模


代码量大约为 26000 行 Rust 代码。


团队规模:


  • 主力开发:2 人

  • 社区贡献:0 人


新项目,目前还未有人贡献。


项目周期


还未迭代出初始版本,但开发动态比较活跃。

其他

游戏

游戏领域包括,使用 Rust 制作的游戏、Rust 游戏引擎、Rust 游戏生态建设等。

veloren (国外/沙盒游戏/开源)

关键字:沙盒游戏/ 我的世界


介绍


Veloren 是用 Rust 开发的开源免费多玩家 voxel RPG。它的灵感来自诸如《魔方世界》,《塞尔达传说:旷野之息》,《矮人要塞》和《我的世界》等游戏。支持多人、单人,可以在 Windows、Mac、Linux 上游玩。点击 官网 了解更多。


Veloren 应该是最早使用 Rust 的项目了,该项目在 2013 年就开始使用 Rust 开发,当时 Rust 还未 1.0 。截止到 2021 年的今天,该项目还保持着活跃更新。


Veloren 的创始人,也是 Rust 官方游戏开发组成员之一。


代码及团队规模


代码量大约为 20 万行 Rust 代码。


团队规模:


  • 主力开发:15 人。

  • 社区贡献:175 人。


项目周期


项目迭代周期平均每三月发一个小版本。目前是 0.10.0 版。

A / B Street (国外/开源/街景交通探索游戏)

关键字:


A / B Street 是一个游戏,探索城市对驾驶员,骑自行车者,过境用户和行人的运动的小变化。


游戏最终目标是让玩家成为调整西雅图(默认)基础设施的真正建议,A/B Street 使用OpenStreetMap ,所以游戏可以是世界上任何一个地方。 A / B 街当然是一个游戏,使用简化的交通建模方法,所以城市政府仍然必须使用现有方法来评估提案。 A / B Street 旨在作为与交互式可视化传达想法的对话启动器和工具,或者给城市规划专家做参考。


代码量及团队规模


代码量大约为 10 万 行 Rust 代码。


团队规模:


  • 主力开发:1 人

  • 社区贡献:24 人


项目周期


项目从 2018 年 3 月 11 启动,截止到当前 2021 年 6 月,一直高速迭代。迭代周期平均是每周一个小版本。

Embark 公司 与 Rust 游戏生态

关键字: Rust Game Ecosystem


介绍


Embark 公司是 Johan Andersson (游戏界知名人物)创建的游戏工作室,在创建之初就选择 Rust 作为主要语言。


我们相信,通过与社区公开分享我们的工作、问题和想法,我们将创造更多的合作和讨论机会,使我们走向 Rust 和整个游戏行业的伟大未来。 -- Johan Andersson (@repi), CTO, Embark

在 Embark,我们一直用 Rust 从头开始构建自己的游戏引擎。 我们在 RLSL 原型的内部开发方面拥有先前的经验,我们拥有一支由出色的渲染工程师组成的团队,他们熟悉游戏,游戏引擎和其他行业中当今着色器语言的问题。 因此,我们认为我们处于解决这一问题的独特位置。

我们希望使用一种出色的语言简化我们自己的内部开发,建立一个开源图形社区和生态系统,促进 GPU 和 CPU 之间的代码共享,最重要的是-使我们(未来的)用户和其他开发人员拥有更多快速创建引人入胜的体验。


创建 Rust 游戏生态并非口号,Embark 公司也加入了 Rust 游戏工作组,并且创建了一系列打造 Rust 游戏生态的库。


这些库都罗列在 rust-ecosystem 仓库中。


NameDescription
相关推荐


周排行

申请试用

提交后工作人员会尽快与您联系进行功能演示
技术咨询已转移到管理后台,请先登录

即时通讯云使用者请在应用详情页面咨询
客服云使用者请进入管理员模式咨询

×

电话咨询

微信咨询

环信即时通讯云——100注册用户永久免费
环信MQTT——免费开通 每月赠送额度
环信PUSH——1000个DAU免费

注册享福利、赢好礼

立即体验