< 返回版块

ChaosBot 发表于 2018-08-13 09:41

Tags:rustnews

为macro_rules! 宏生成语法图(syntax diagrams)

语法图,也叫做铁路图(railroad diagram),是一种表示形式语法的方式,规则如下:

  • 从左边界开始,沿着轨道到右边界。
  • 沿途,你在圆框中遇到的是字面量,在方块中遇到的是规则或描述。
  • 任何沿着轨道能走通的序列都是合法的。
  • 任何不能沿着轨道走通的序列都是非法的。
  • 末端只有一个竖条的铁路图,表示允许在任意一对符号中插入空白。而在末端有两个竖条的铁路图则不允许。

看铁路图比直接看macro_rules!定义要简单的多,没那么烧脑

图为 nom中name!的语法图

img


如何缓解Rust编译时间长的痛苦

本文作者介绍了一些小技巧:

  • 使用cargo check。如果只是想验证语法、类型检查等,那么可以直接使用这个命令,它只会调用编译器前端。比cargo build快2倍,比cargo build —release快6倍。
  • 使用sccache,该工具是Mozilla出品的Rust兼容的编译缓存服务,一般可以获得2倍速度提升。使用cargo install sccache安装sccache,并且在.bashrc中添加环境变量export RUSTC_WRAPPER=sccache
  • 避免LTO。 LTO是链接时优化的缩写。LTO将付出更高的编译时间代价。
  • 控制crate依赖。

原文


Rust需要BFGS

什么是BFGS?Rust极有可能成为构建世界级机器学习工具的语言,但它目前缺少一些重要的数学基础设施。 BFGS是这些缺失的部分之一。

在许多流行的机器学习算法中,目标是找到最小化算法预测和训练数据之间误差的参数。这可以表述为找到最小化损失函数的输入。线性回归,逻辑回归,神经网络和一些不同的贝叶斯技术,都可以表示为最小化问题。

并没有一个通用的最佳的「最小化」功能,但是Python和R中都使用了BFGS算法。

BFGS代表Broyden-Fletcher-Goldfarb-Shanno,它是1970年各自独立发布该算法的四位研究人员的名字。

bfgs代码

如果你有能力有兴趣,可以来这里帮忙改进Rust代码

友情提示:参看原文需要机器学习基础

原文


嵌入式工作组报告第9期

  • 嵌入式工作组转移到了新的仓库:rust-embedded/wg, rust-embedded是新创建的组织
  • 嵌入式工作组现在拥有18个人,6个小分队,分别专注于Cortex-M、HAL、MS430、RISCV、Resources和Tools领域。
  • 也罗列了embedded-hal生态系统一些可用的库

更多详细看文章

原文


使用Rust宏来重构代码

原文


评论区

写评论

还没有评论

1 共 0 条评论, 1 页