【Rust日报】2019-08-20

in rust •  5 years ago  (edited)

使用Rezolous进行系统性能遥测

来自Twitter的开源作品

Rezolus是一种收集详细系统性能遥测数据,通过高分辨率的遥测技术探测突发情况的工具。Rezolus不仅能够监测基本系统指标,还提供了性能计数器和对eBPF(extended Berkeley Packet Filter)遥测的支持。测量是提高性能的第一步。

twitter/rezolus

「小技巧」返回一个具有占位符值的Future,以便在future尚未完成时能够使用它

举一个现实世界的例子:

当你去一些快餐店时,一旦你订购,你会得到一张餐券(占位符),一旦你的用餐准备好,你就可以得到实际的食物(future)。

使用占位符来热重载:

struct HotReload<T> {
    current: T,
    updates: Pin<Box<dyn Stream<Item = T>>>,
}

impl HotReload<T> {
    fn get(&mut self) -> &T {
        while let Poll::Ready(Some(value)) = self.updates.as_mut().poll(&mut noop_context()) {
            self.current = value;
        }
        &self.current
    }
}

read more

用Rust编写gdbserver替代方案

用于Rust的GDB远程串行协议服务器,该项目旨在搭建一个简单的GDB服务器,能够运行在Rust重写的x86_64体系结构上运行的Linux和Redox。

Redox OS内部机制还没有实现,但是一旦Linux运行起来它应该很容易。

一个用Rust编写的gdbserver替代方案半成品


From 日报小组 Lance

日报订阅地址:

独立日报订阅地址:

社区学习交流平台订阅:

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!