< 返回版块

长琴 发表于 2024-01-08 12:57

Tags:rust,日报,motor-os,regex-benchmark,juliafatou

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工具

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

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

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

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

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

f83dab8997fbb896200d1166eebec871.png

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

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

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

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

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

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

渲染茱莉亚集合

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

d0e5d21458b3b7e07f15ab6feb4ee3fb.png

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 日报小组 长琴

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页