前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2019-09-11:Cloud Hypervisor - Intel 旗下的虚拟机监视器

【Rust日报】2019-09-11:Cloud Hypervisor - Intel 旗下的虚拟机监视器

作者头像
MikeLoveRust
发布2019-09-17 17:53:30
1.1K0
发布2019-09-17 17:53:30
举报

2019 年 Javascript 程序员最想学的语言有哪些?

根据 StackOverflow 上的数据进行统计。结果如下:

代码语言:javascript
复制
Rust    11.9%
WebAssembly    12.3%
TypeScript     35.8%
None of above    40%

Read More: https://www.techrepublic.com/article/the-rising-programming-languages-that-javascript-developers-are-learning-in-2019/

futures-intrusive - 为基于 async/await 和 Future 的异步生态提供了一些 intrusive 集合同步原语

又是个新名词,查了一下,侵入式集合是这样一个东西:

In the words of the intrusive-collections crate : The main difference between an intrusive collection and a normal one is that while normal collections allocate memory behind your back to keep track of a set of values, intrusive collections never allocate memory themselves and instead keep track of a set of objects.

这个库提供的原语有下面这些:

  • Channels in a variety of flavors:
    • Oneshot
    • Multi-Producer Multi-Consumer (MPMC)
    • State Broadcast
  • Synchronization Primitives:
    • Manual Reset Event
    • Mutex
    • Semaphore
  • A timer

Repo: https://github.com/Matthias247/futures-intrusive

ESP32 上的 Rust

作者还是个大学生,折腾了不少嵌入式方面的东西,最近用 rustc 为他自己做了一块智能手表。现在把他在 ESP32 上折腾 Rust 的经历和经验记录下来。

Read More: https://mabez.dev/blog/posts/esp32-rust/

multiversion - 可以为同一个函数针对不同的平台或条件,指定不同的版本

看一下效果

代码语言:javascript
复制
use multiversion::multiversion;

multiversion!{
    fn square(x: &mut [f32])
    "[x86|x86_64]+avx" => square_avx,
    "x86+sse" => square_sse,
    default => square_generic,
}

#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
#[target_feature(enable = "avx")]
unsafe fn square_avx(x: &mut [f32]) {
    for v in x {
        *v *= *v;
    }
}

#[cfg(target_arch = "x86")]
#[target_feature(enable = "sse")]
unsafe fn square_sse(x: &mut [f32]) {
    for v in x {
        *v *= *v;
    }
}

fn square_generic(x: &mut [f32]) {
    for v in x {
        *v *= *v;
    }
}

不得不指出,Rust 强大的 4 种宏,可以玩出远远超越之前 C/C++ 宏的效果,发挥想象吧。

Repo: https://github.com/calebzulawski/multiversion

Cloud Hypervisor - Intel 旗下的虚拟机监视器

发布 0.2 版了。

Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that runs on top of KVM. The project focuses on exclusively running modern, cloud workloads, on top of a limited set of hardware architectures and platforms.

Repo: https://github.com/intel/cloud-hypervisor

另外还有一个姐妹项目:rust-hypervisor-firmware

它是一个 KVM 的固件。

目前,它们都还处于实验性的阶段。

vxdraw - 基于 gfx-hal 的快速 2D 渲染库

vxdraw is a rendering library for drawing sprites, text, and streaming textures to a window. It is not an engine, just a library, and has no runtime.

它的特点是为动画优化,能充分利用 GPU 的渲染。

Repo: https://github.com/Omen-of-Aecio/vxdraw

Veloren - 一个多从砖块 RPG 游戏

Veloren is a multiplayer voxel RPG written in Rust. It is inspired by games such as Cube World, Legend of Zelda: Breath of the Wild, Dwarf Fortress and Minecraft.

哇,看到好多熟悉的名字。

感觉自己心动了。

Repo: https://veloren.net/

VeoLuz - 光与影,万花筒艺术创作工具

一个字,美!酷!

Website: https://jaredforsyth.com/veoluz/


From 日报小组 Mike

日报订阅地址:

独立日报订阅地址:

  • Telgram Channel
  • 阿里云语雀订阅
  • Steemit
  • GitHub

社区学习交流平台订阅:

  • Rust.cc论坛: 支持rss
  • Rust Force: 支持rss
  • 微信公众号:Rust语言学习交流
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2019 年 Javascript 程序员最想学的语言有哪些?
  • futures-intrusive - 为基于 async/await 和 Future 的异步生态提供了一些 intrusive 集合同步原语
  • ESP32 上的 Rust
  • multiversion - 可以为同一个函数针对不同的平台或条件,指定不同的版本
  • Cloud Hypervisor - Intel 旗下的虚拟机监视器
  • vxdraw - 基于 gfx-hal 的快速 2D 渲染库
  • Veloren - 一个多从砖块 RPG 游戏
  • VeoLuz - 光与影,万花筒艺术创作工具
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档