ITPub博客

首页 > 数据库 > 数据库开发技术 > 【Rust 日报】2024-01-07 为虚拟化工作负载设计的操作系统:Motūrus OS

【Rust 日报】2024-01-07 为虚拟化工作负载设计的操作系统:Motūrus OS

原创 数据库开发技术 作者:Rust语言中文社区 时间:2024-01-08 23:49:55 0 删除 编辑

Motūrus OS

For 云端的简单、快速和安全的操作系统。目标是基于虚拟机的工作负载,如 Web服务、Serverless、边缘缓存等。

为什么有这个项目?

目前,大多数虚拟化生产环境工作负载都在运行Linux。虽然Linux具有许多先进功能,在许多情况下是唯一合理的操作系统选择,但在理论上,对于一些虚拟化工作负载来说,存在一些使其不太理想的复杂性:

  1. Linux被优化为裸机,这导致在运行在Linux主机上的VM内部使用时效率低下:

  • 重复的块缓存

  • 重复的页表遍历

  • 主机调度程序可以抢占在VM内核中持有自旋锁的VCPU

  • Linux使用起来比较困难:

    • Docker、Nix OS、Serverless等都存在,是因为Linux的复杂性

    • 历史上,Linux安全性不是很高

    所以,这是一个从头开始专注于虚拟化工作负载的新操作系统,可以比Linux更简单、更安全,同时匹配或超过其性能和效率。

    小编听起来是一个很不错的项目,值得大佬们关注。

    GitHub: https://github.com/moturus/motor-os

    Regex Benchmark工具

    正则表达式基准测试是一个旨在揭示正则表达式性能的实用工具。它提供了对不同正则表达式模式执行情况的可视化表示,特别适用于处理性能影响并不立即显而易见的复杂表达式。

    比如对下面三个正则进行测试。

    =
    .*(=).*
    .?(=).*

    # 执行命令
    regex-benchmark \
    --regex '=' \ # 可替换
    --max-length 100000 \
    --step-size 10 \
    --num-tests 5 \
    --required-str x=xxxxxxxxxxxxxx \
    --method find

    大家认为结果如何呢?我们看看分析得到的结果。

    上面三个图分别是执行三个正则的情况。

    虽然这三个表达式都是有效的,但我们可以看到每个表达式的性能差异非常大。

    第一个表达式是最有效的。虽然我们有一些离群值,但性能非常一致,给了我们一个很好的指示,表明结果是恒定时间的。

    第二个表达式是效率最低的。我们可以看到随着输入大小的增加,呈线性增长,并且扩散增加。这可能看起来像是O(n)的时间复杂度,然而实际上并非如此。从实际需要执行多少步骤来看,时间复杂度实际上是O(n^3)。这个图表实际上表示执行正则搜索的实际时间。

    最后一个表达式最有趣。我们可以看到它比第一个表达式慢,但比第二个表达式快。最大的区别在于散布非常大!

    GitHub: https://github.com/Salaah01/regex-benchmark

    渲染茱莉亚集合

    以极快的速度渲染茱莉亚集,可以同时渲染两个略有不同的茱莉亚集,并使用简单的算法将它们合并,以增加更多复杂性。可用于生成桌面壁纸。效果如下图所示。

    GitHub: https://github.com/elkasztano/juliafatou

    最流行的Rust后端框架

    来吧,Reddit上又看到这个问题了,有没有什么想法来发表一下?

    以前小编对于此类问题的争执都是不care的,感觉没有太多意义。就好像争论哪门编程语言好,编辑器之神还是神之编辑器一样。不过后来发现,如果我们在讨论类似问题时能够从技术、非技术等多个角度展开对比,未尝不是一种很好的交流手段。

    所以,在最后留个链接,给感兴趣的朋友。

    Link: https://www.reddit.com/r/rust/comments/191bsg7/what_is_the_most_popular_backend_rust_framework/


    From 日报小组 长琴

    社区学习交流平台订阅:

    • Rustcc 论坛:支持 rss

    • 微信公众号:Rust 语言中文社区


    原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。

    请登录后发表评论 登录
    全部评论

    注册时间:2020-06-11

    • 博文量
      1769
    • 访问量
      718665