< 返回版块

【Rust日报】 2019-01-29

ChaosBot 发表于

Rustwasm 2019 Roadmap

#wasm #2019 #roadmap

当前,Roadmap已经提交PR,但未合并。可以先关注。

总的来说,目标就是从「可用」到「稳定」:

  • 通过模块化的工具来继续培养rust wasm的生态系统
  • 为Rust生成的wasm带来多线程支持
  • 在工具链中集成最佳的调试工具
  • 打磨工具链和发布流程,直到wasm-pack发布1.0版

Read More


另一个性能测试

#benchmark

该作者制作了一个Ruby脚本,包括了多种语言的基准测试(C,C ++,Rust,Go,Java和C#,但可以添加更多),重新标准化了平均值。

得出的结论是:Rust在基准测试游戏中的表现优于C++ 3%,比C慢4%。

Read More


Blog OS系列: 高级分页

#blogos

这是继上篇内存分页介绍之后,进一步介绍操作系统内核如何访问物理页的技术,通过这种技术可以实现虚拟地址到物理地址的转化,以及如何在页表内创建映射。

Read More


「长文」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都进行了一番考究。

Read More


MesaLink 0.8.0 发布

#sgx #openssl


GNome中的流媒体广播应用Gradio将用Rust重构

#gnome

重构后的项目叫Shortwave


现代C++和游戏开发的一些思考

#cpp

这篇文章和Rust没关系,但是可以看看CPP的现状。

长文,但是作者总结了两个观点:

  • 要么,你什么都不要做。也就是说,你可以继续使用Cpp,但不要用它的任何新功能。继续用C++98。但这不是一个长期的解决方案。
  • 要么,参与到Cpp的变革中。来参见CppCon,来参与Cpp委员会的讨论和议程,发出你的声音。

其实还有第三个选择:看看Rust。(作者并没有说)

Read More


Rust闭包的秘密

#closure

作者总结了Rust闭包中的一些规则,可以看看。

Read More


websocat: 命令行webscoket客户端工具

#cli #websocket

websocat


inferno: 火焰图工具移植为Rust

#flamegraphs

上次介绍过油管开直播视频讲如何移植火焰图工具那位作者的库


Rust web框架比拼

#web

这个GitHub项目汇集了Rust各种web框架的相关资料,包括Rust实现的前端WASM框架、Websocket、Template等项目。

还包括了很多博客、项目demo等学习资源。相当全面了。

rust-web-framework-comparison


日报订阅地址:

欢迎通过GitHub issues投稿。

评论区

还没有评论

共 0 评论, 共 0 页