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

2024-01-09 07:20

本文主要是介绍【Rust 日报】2024-01-07 为虚拟化工作负载设计的操作系统:Motūrus OS,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

03546b83485be70b685fa7759d7383e1.png

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

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

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

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

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

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

渲染茱莉亚集合

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

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

社区学习交流平台订阅:

  • Rustcc 论坛:支持 rss

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

这篇关于【Rust 日报】2024-01-07 为虚拟化工作负载设计的操作系统:Motūrus OS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/586332

相关文章

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

rust 中的 EBNF简介举例

《rust中的EBNF简介举例》:本文主要介绍rust中的EBNF简介举例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 什么是 EBNF?2. 核心概念3. EBNF 语法符号详解4. 如何阅读 EBNF 规则5. 示例示例 1:简单的电子邮件地址

nginx负载均衡及详细配置方法

《nginx负载均衡及详细配置方法》Nginx作为一种高效的Web服务器和反向代理服务器,广泛应用于网站的负载均衡中,:本文主要介绍nginx负载均衡及详细配置,需要的朋友可以参考下... 目录一、 nginx负载均衡策略1.1 基本负载均衡策略1.2 第三方策略1.3 策略对比二、 nginx配置2.1