Rustwasm 2019 Roadmap
#wasm #2019 #roadmap
当前,Roadmap已经提交PR,但未合并。可以先关注。
总的来说,目标就是从「可用」到「稳定」:
- 通过模块化的工具来继续培养rust wasm的生态系统
- 为Rust生成的wasm带来多线程支持
- 在工具链中集成最佳的调试工具
- 打磨工具链和发布流程,直到wasm-pack发布1.0版
另一个性能测试
#benchmark
该作者制作了一个Ruby脚本,包括了多种语言的基准测试(C,C ++,Rust,Go,Java和C#,但可以添加更多),重新标准化了平均值。
得出的结论是:Rust在基准测试游戏中的表现优于C++ 3%,比C慢4%。
Blog OS系列: 高级分页
#blogos
这是继上篇内存分页介绍之后,进一步介绍操作系统内核如何访问物理页的技术,通过这种技术可以实现虚拟地址到物理地址的转化,以及如何在页表内创建映射。
「长文」Rust性能:match vs 表查找
#match
该文作者在研究生物信息学(bioinformatics)算法的过程中,发现将Rust的match改成表查找,算法的性能得到了很大的提升。参见
将下面的match代码:
fn match4(x: u8) -> u64 {
match x {
b'A' => 1,
b'B' => 2,
b'C' => 3,
b'D' => 4,
_ => 0,
}
}
修改为:
use lazy_static::lazy_static;
lazy_static! {
static ref LOOKUP4: [u64; 256] = {
let mut l = [0; 256];
l[b'A' as usize] = 1;
l[b'B' as usize] = 2;
l[b'C' as usize] = 3;
l[b'D' as usize] = 4;
l
};
}
fn lookup4(x: u8) -> u64 {
LOOKUP4[x as usize]
}
并且使用了lazy_static。
作者好奇,为什么编译器没有为match表达式生成最佳代码。于是他开始了一系列的测试和挖掘,从生成的汇编到LLVM都进行了一番考究。
MesaLink 0.8.0 发布
#sgx #openssl
GNome中的流媒体广播应用Gradio将用Rust重构
#gnome
重构后的项目叫Shortwave
现代C++和游戏开发的一些思考
#cpp
这篇文章和Rust没关系,但是可以看看CPP的现状。
长文,但是作者总结了两个观点:
- 要么,你什么都不要做。也就是说,你可以继续使用Cpp,但不要用它的任何新功能。继续用C++98。但这不是一个长期的解决方案。
- 要么,参与到Cpp的变革中。来参见CppCon,来参与Cpp委员会的讨论和议程,发出你的声音。
其实还有第三个选择:看看Rust。(作者并没有说)
Rust闭包的秘密
#closure
作者总结了Rust闭包中的一些规则,可以看看。
websocat: 命令行webscoket客户端工具
#cli #websocket
inferno: 火焰图工具移植为Rust
#flamegraphs
上次介绍过油管开直播视频讲如何移植火焰图工具那位作者的库
Rust web框架比拼
#web
这个GitHub项目汇集了Rust各种web框架的相关资料,包括Rust实现的前端WASM框架、Websocket、Template等项目。
还包括了很多博客、项目demo等学习资源。相当全面了。
日报订阅地址:
欢迎通过GitHub issues投稿。
评论区
写评论还没有评论