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

2024-01-12 15:44:21 浏览数 (2)

Motūrus OS

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

为什么有这个项目?

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

  1. Linux被优化为裸机,这导致在运行在Linux主机上的VM内部使用时效率低下:
    • 重复的块缓存
    • 重复的页表遍历
    • 主机调度程序可以抢占在VM内核中持有自旋锁的VCPU
  2. Linux使用起来比较困难:
    • Docker、Nix OS、Serverless等都存在,是因为Linux的复杂性
    • 历史上,Linux安全性不是很高

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

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

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

Regex Benchmark工具

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

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

代码语言:javascript复制
=
.*(=).*
.?(=).*

# 执行命令
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

0 人点赞