【Rust日报】2020-09-12 Apple 使用 Rust 进行底层编程
Apple 使用 Rust 进行底层编程
今天,有网友在 Twitter 上发文称:Apple 似乎全力支持 Rust 进行底层编程。
“在非常成功地首次引入 Rust 之后,我们正在将已建立的代码库从 C 迁移到 Rust,并主要在 Rust 中构建新功能。”
并附上了 Apple 软件工程师的职位链接,https://jobs.apple.com/de-de/details/200170723/software-engineer-networking-privacy?team=SFTWR
小编发现其实该职位是 Apple 在8月份就发布的。虽然不是最新消息,但也说明越来越多的主流大公司在采用 Rust 编程语言。
Gitoxide v0.4
Gitoxide 发布 v0.4,该项目是一个用 Rust 实现的 git,但它的目标并不是要完美复制 git 的功能。
安装命令:
curl -LSfs https://raw.githubusercontent.com/Byron/gitoxide/main/ci/install.sh |
sh -s -- --git Byron/gitoxide --crate gix-max-termion
安装后会有两个二进制命令:gix 和 gixp,其中 gix 是用于访问 git 代码库的命令行接口工具,它是用来优化用户体验,其性能优于 git 规范的实现,进行 clone 项目比直接使用 git 更快。由于一些问题,目前没有支持 Windows 的v0.4版本。
Github 链接,https://github.com/Byron/gitoxide
ultraviolet v0.6
ultraviolet, 是在计算机图形学和游戏相关的线性代数上的一个 crate,在生产率和运行时性能方面都非常快。
就生产率而言,ultraviolet 不使用任何泛型,并且被设计为尽可能简化界面,从而缩短了编译时间并提供了清晰的代码。另外,不使用泛型和 Rust 类型系统中的各种“hack”使得错误清晰明了,易于用户解析和修复。
在运行时性能方面,从一开始就考虑到性能来设计。为此,它为每种类型提供两种单独的类型,一种具有通常的标量 f32 值,另一种为"宽"类型,其为每个值使用 SIMD 向量类型。每种类型的两种都提供本质上等效的操作,而"宽"的类型则提供它们独有的某些功能,为高性能 SIMD 算法设计。此设计的目的是明确的,并且还允许代码充分利用 SIMD,从而为某些工作负载提供大幅性能提升的可能性。
v0.6 的主要功能:
- 支持 256 位宽的 AVX 向量和指令以及 128 位宽的 SSE 指令。
- 在 f64 功能下支持 f64/双精度浮点数,包括 f64x2 和 f64x4 SIMD 加速类型。
v0.6 版本博客文章链接,https://fusha.moe/blog/posts/ultraviolet-0.6/
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 思科模拟器:路由器基本配置
- 思科模拟器:实验五——高级路由实验
- 从零开始重新认识 SpringMVC
- 字节跳动Android实习面试凉凉经,两轮面试我被完虐了...
- 高效、简单、方便管理与维护的开源运维工单系统
- python数据库入门编程。
- EasyExcel导出自定义合并单元格策略
- CMake学习笔记
- 性能分析(2)- 应用程序 CPU 使用率过高案例
- 性能测试必备知识(7)- 深入理解“CPU 使用率”
- Jmeter 常用函数(31)- 详解 __iterationNum
- Jmeter 常用函数(30)- 详解 __if
- Jmeter 常用函数(29)- 详解 __eval
- Jmeter 常用函数(28)- 详解 __FileToString
- Jmeter 常用函数(26)- 详解 __chooseRandom